Skip to content

Releases: Restream/reindexer

v3.28.0

16 Aug 11:30
Compare
Choose a tag to compare

Core

  • [fea] Updated logging library to v1.14.1 and formatting library to v11.0.2
  • [fea] Optimized log level checks to avoid excessive serialization in core logs
  • [fea] Added support for array_remove with scalar values in SQL
  • [fea] Added support for array_remove with non-integral values
  • [fix] Disabled default values creation for object array indexes to avoid Go/Java connectors incompatibility
  • [fix] Fixed sorted JOIN-subqueries over optimized tree-indexes with unordered conditions

Reindexer server

Reindexer tool

  • [fix] Fixed possible stucking in interactive mode on Windows

Face

  • [fea] Changed default value for rtree fields in 'new item' modal (now it's zero point instead of empty array)
  • [fix] Fixed items table view (previously it could disapear in some rare cases depending on items contents)
  • [fix] Fixed 'delete database' button
  • [fix] Fixed default stop words behavior in fulltext index settings
  • [fix] Fixed rendering of the last namespace in namespaces list
  • [fix] Fixed links to the docs depending on the current chosen interface language
  • [ref] Changed bm25 grouping in fulltext index settings

v4.16.0 *beta*

26 Jul 12:35
Compare
Choose a tag to compare
v4.16.0 *beta* Pre-release
Pre-release

Reindexer server

  • [fea] Added RPC API for updates subcription

Go connector

Sharding

  • [fea] Improved errors handling in proxied transactions

Ported

Deploy

  • [fea] Added build for Ubuntu 24.04
  • [ref] CentOS 7 reindexer repo is no longer supported due to CentOS 7 EOL

Face

  • [fea] Increased max allowed value of the position_boost field
  • [fea] Added "Minimum preselect size for optimization of inner join by injection of filters" field to NS config
  • [fea] Added UUID index type to PK options
  • [fix] Fixed the issue related to Aggregation result displaying
  • [fix] Fixed the pagination issue
  • [fix] Fixed the console issue in Meta section
  • [fix] Fixed Explain tab layout on SQL result page
  • [fix] Fixed placeholder layout for "Forced sort values" field and filer condition on Query Builder page
  • [fix] Fixed icons and tabs layout on NS page
  • [fix] Fixed "Tags" input layout in Index config modal
  • [fix] Fixed default value for array fields
  • [fix] Fixed tabs layout on NS page after Explain request
  • [fix] Fixed input width in the settings

v3.27.0

09 Jul 13:47
Compare
Choose a tag to compare

Core

  • [fea] Decreased heap allocations count in general selection pipeline
  • [fea] Optimized allocations in fulltext query preparation phase
  • [fea] Added heuristic for copying transactions, which allows to avoid extra namespace copying if there are no select queries expected. May be disabled via REINDEXER_NOTXHEURISTIC env variable
  • [fea] Added automatic default values setting on new index creation (except UUID and rtree indexes)
  • [fea] Improved comparators performance for IN()-conditions
  • [fix] Fixed potential deadlock on data reading at server startup
  • [fix] Fixed double fulltext index building after copying transactions
  • [fix] Fixed incorrect composite indexes detection in some of UPDATE-queries (it could lead to random crashes during updates)
  • [ref] Deprecated fulltext index option warmup_on_ns_copy. In current implementation reindexer will always build fulltext index after copying transaction
  • [ref] Removed some of the default RU stop-words

Replication

  • [fix] Fixed updated_unix_nano in #memstats table
  • [fix] Disabled statement-based update replication - in some cases it could lead to crashes and data loss due to logic conflicts in WAL

Reindexer server

  • [fea] Added SO_LINGER-option in cases when client drops connection first. This allows to prevent TIME_WAIT socket state on the client's side

Deploy

  • [fea] Added build for Ubuntu 24.04
  • [ref] CentOS 7 reindexer repo is no longer supported due to CentOS 7 EOL

Face

  • [fea] Added RU language in UI
  • [fix] Fixed input width in settings section

v3.26.0

21 Jun 08:30
Compare
Choose a tag to compare

Core

  • [fea] Added heterogeneous arrays support in UPDATE-queries
  • [fea] Improved performance of CJSON encoding/decoding (now it works ~10-15% faster)
  • [fix] Fixed interaction between EqualPositions and OR-operator
  • [fix] Fixed crash on attempt to use UPDATE-query with nested array

Replication

  • [fix] Fixed unnecessary force-syncs after updates lost during initial synchronization

Reindexer server

  • [fea] Added support for multiple JOIN-subqueries with the same namespace with results in JSON-format

Build

  • [fea] Added WITH_LTO cmake build option (disabled by default)
  • [fix] Fixed build with GCC-14

Face

  • [fix] Fixed deafault values for array-fields in "New item" window

v3.25.0

30 May 12:59
Compare
Choose a tag to compare

Core

  • [fea] Added field max_iterations_idset_preresult into #config-namespace. This field allows to configure preselect limit for the JOIN-queries
  • [fea] Added WHERE-values deduplication for the composite indexes in SELECT-queries
  • [fea] Added scalar fields support for the array_remove and array_remove_once update-functions
  • [fix] Fixed whitespaces handling in the UPDATE SQL-queries with JSON-objects

Fulltext

  • [fea] Optimized fulltext index building (index rebuild works ~30% faster than in v3.24.0)
  • [fea] Added gujarati UTF-8 subset to the internal locale
  • [fix] Fixed snippet and highlight on the queries with large merge_limit (>65k) and typos

Replication

  • [fix] Fixed replicated TagsMatcher's behavior on the follower-nodes after leader's schema modification
  • [fix] Fixed online replication for DeleteMeta-calls

Reindexer server

CPP-client

  • [fix] Fixed SetSchema-call

Ported

  • [fea] Ported the comparators improvements/optimizations from v4.15.0

Face

  • [fea] Added UUID to the PK options
  • [fea] Added the "Minimum preselect size for optimization of inner join by injection of filters" field to the NS config
  • [fea] Increased the max of the position_boost field
  • [fea] Changed the fonts to the system defaults
  • [fea] Moved the field descriptions to the tooltips on the DB Config page
  • [fix] Fixed the pagination issue after item insertion
  • [fix] Fixed the issue related to the Aggregation result displaying
  • [fix] Fixed icons and tabs layout on the NS page
  • [fix] Fixed Explain tab layout on the SQL result page
  • [fix] Fixed "Tags" input layout in the Index config modal
  • [fix] Fixed placeholder layout for the "Forced sort values" field and filer condition on the Query Builder page
  • [fix] Fixed console issue that appeared on the SQL -> Explain query
  • [fix] Fixed incorrect message about the empty result of the Explain operation
  • [fix] Fixed Pin NS button

v4.15.0 *beta*

22 Apr 11:16
Compare
Choose a tag to compare
v4.15.0 *beta* Pre-release
Pre-release

Core

  • [fea] Optimized comparators execution logic to avoid excessive runtime checks
  • [fea] Rewritten comparators for the composite indexes. New version does not extracts fields from the tuple in the each iteration. Overall performance boost for queries with composite conditions is up to ~40%
  • [fea] Added extra column subindex for the hash/tree-indexes. It requires extra memory, but gives ~20-50%% overall speedup (depending on the indexes selectivity). The column subindex may be disabled with the dense index option
  • [fea] Optimized general sorting logic for the hash/store-indexes: now it uses column subindexes if possible for the cache efficiency. In some cases this approach provides up to 45% performance gain for the low-selectivity indexes
  • [fea] Added extra column subindex for the string store(-) indexes. Previosly store(-) indexes have used the column for int, int64, double, uuid and bool types only. The column subindex may be disabled with the dense index option
  • [fix] Fixed types conversions for non-index fields in the select quieries

Go connector

  • [fix] Fixed WhereUUID-method. Now it works for non-index fields too

Ported

Deploy

Face

  • [fea] Changed the fonts
  • [fea] Added the ability to delete NS Meta data
  • [fea] Added the Cache settings to the NS config
  • [fea] Made the new UI component for the pagination
  • [fea] Added redirect to the created NS
  • [fea] Added the new settings to the Full text config
  • [fea] Moved field descriptions to the tooltips on the DB Config page
  • [fea] Added Git documentation link for the Bm25 config
  • [fea] Improved the layout of the Stop words and Synonyms lists
  • [fea] Changed empty data to the null value in the Grid view
  • [fix] Fixed the Pin NS button
  • [fix] Fixed the search panel layout on the NS page
  • [fix] Fixed the incorrect message about the empty result of the Explain operation
  • [fix] Fixed caching of the NS config
  • [fix] Fixed the inform window that appeared on the Cancel button on the NS Config page
  • [fix] Removed ESlint popup
  • [fix] Fixed the layout issues on the Index form
  • [fix] Fixed "see & edit" link on the Queries Perfstats page
  • [fix] Fixed the concole issue appeared on the SQL -> Explain query
  • [fix] Fixed extra data uploading on the Performace page
  • [fix] Fixed the console issues on the add/edit indexes
  • [fix] Fixed the mergeLimit variable

v3.24.0

12 Apr 07:45
Compare
Choose a tag to compare

Core

  • [fea] Added array_remove and array_remove_once functions for the UPDATE-queries. Details
  • [fea] Increased limit for IdSet join preselect from 10'000 to 20'000 documents
  • [fea] Added C++ benchmarks for sparse-indexes
  • [fea] Disabled comparators for sparse-indexes. From now sparse-indexes always use more effective IdSets instead
  • [fea] Added DeleteMeta method and simplified meta storing/reading logic
  • [fix] Fixed race condition in the JOINS cache
  • [fix] Fixed results serialization for MERGE-queries with multiple JOINS in cases when some of the JOIN-queries have not joined any items
  • [fix] Fixed distinct result in cases when WHERE-condition contains duplicate values (e.g. distinct(id) WHERE id IN (1,1,1,3))

Fulltext

  • [fea] Increased max merge_limit value (new values range is [1, 0x1FFFFFFF])
  • [fix] Fixed phrase search behavior for the phrases containig single word

Go connector

  • [fea] Added EnumMeta and DeleteMeta functions
  • [fix] Fixed RenameNamespace function - now upsert after namespace's renaming works properly

Reindexer server

  • [fea] Add DELETE-method for the /metabykey HTTP-endpoint

Deploy

Face

  • [fea] Added possibility to delete namespace's Meta data
  • [fea] Added Git documentation link for the Bm25 config
  • [fea] Added explicit null-values in the Grid view
  • [fix] Fixed the inform window that appeared on the Cancel button on the NS Config page
  • [fix] Fixed extra data uploading on the Performace page
  • [fix] Changed Git documentation link in the Main menu
  • [fix] Fixed console issues on the add/edit indexes
  • [fix] Fixed caching of the NS config
  • [fix] Fixed layout issues on the Index form

v3.23.1

20 Mar 18:07
Compare
Choose a tag to compare

Core

  • [fix] Fixed crash in the incremental fulltext index during typos handling
  • [fix] Fixed crash in the UPDATE-query in the case when this query sets values for some array-field and composite index simultaneously

Go connector

  • [fix] Fixed joined and composite fields behavior: from now fields with those tags will not be created in the database

Build

  • [fix] Fixed Release build with GCC-12
  • [fix] Added version check for Google Benchmark library during the build

Deploy

  • [fea] Added clang-tidy configs into GitHub source tree

v3.23.0

07 Mar 09:41
Compare
Choose a tag to compare

Core

  • [fea] Improved queries conditions injection in the both directions: joined-to-main and main-to-joined
  • [fea] Improved heuristic for the joins preselect/condition injection. If query has some conditions with high selectivity, scheduler will try to avoid high cost preselect/injections attempts
  • [fea] Added logic for the intersecting conditions merge on the query preprocessing stage
  • [fea] Added clock wrapper to force vDSO for the clock_gettime-calls. This gives up to 20% overall performance on the some operation systems, which using libstdc++ without vDSO (for example, on Centos7)
  • [fea] Updated bundled libbactrace to support DWARF-v5 debug info format
  • [fix] Fixed indexes/count cache drop on the indexes config update

Go connector

  • [fea] Optimized handling of the unknow fields in the Go binding (in cases, when some field exists in the database, but not in the go-struct)

Deploy

  • [fea] Updated RedOS build/deploy image to v3.3.4

Face

  • [fea] Added Prettify feature to the SQL editor
  • [fea] Made yarn upgrade
  • [fea] Added Cache settings to the NS config
  • [fea] Made the new UI component for the pagination
  • [fea] Added tooltips with the UTC dates for the timestamp dates in the Grid view of the Namespace
  • [fea] Added redirect to the created NS
  • [fea] Added new settings to the Full text config
  • [fea] Added Stop Words list to the Full text index
  • [fea] Improved layout of the Stop words and Synonyms lists
  • [fix] Fixed columns enabling/disabling in the Grid views
  • [fix] Fixed issue related to the previously NS current columns displaying for the NS
  • [fix] Fixed issue related to the empty config opening
  • [fix] Fixed issue related to the pagination on the Query result page
  • [fix] Removed eslint popup
  • [fix] Fixed "see & edit" link on the Queries Perfstats page
  • [fix] Fixed tooltips view

v4.14.0 *beta*

22 Feb 10:53
Compare
Choose a tag to compare
v4.14.0 *beta* Pre-release
Pre-release

Core

  • [fea] In C++ Reindexer::Connect-call is now thread-safe

Replication

  • [fea] Added more data consistency checks for the force syncs
  • [fix] Fixed situation, when some of the concurrently written documents could be lost during RAFT leader resync in case of leader's switch
  • [fix] Fixed possible request timeouts on the user's set_leader_node command
  • [fix] Fixed possible request timeouts during leadership transition
  • [fix] Fixed possible deadlock on the initial leader sync during sharding config synchronization
  • [fix] Fixed logical race on the cluster's startup (when some of the user's requests could be handled, while RAFT layer is not initialized yet)

Sharding

  • [fea] Added namespaces' content check during sharding reconfiguration: now it is possible to set sharding config at runtime for non-empty namespace if contents of all the namespaces corresponds to sharding keys distribution
  • [fea] Added support for subqueries to the sharded namespaces
  • [fea] Added config_rollback_timeout_sec into sharding.conf (option for debug purposes)

Ported

Face

  • [fea] Added the ability to use hot keys to navigate over the UI
  • [fea] Changed the Server ID range
  • [fea] Added the default values to the config form when the default config is using
  • [fea] Upgraded Webpack to 5.х
  • [fea] Added the default values to the NS config during the mode changing
  • [fea] Added a new tooltip with the UTC converted date to the Timestamp data on the NS Grid
  • [fea] Made yarn upgrade
  • [fea] Added Prettify button to the SQL Query
  • [fea] Added the subqueries field to the explain mode
  • [fix] Fixed Check request
  • [fix] Added bottom padding to the Performance Updates chart
  • [fix] Fixed the pagination on the SQL query result page
  • [fix] Fixed NS config popup opened from the Statistics page
  • [fix] Fixed the available column list in the grid settings after NS changing
  • [fix] Fixed the message about the outdated browser version after Chrome upgraded to v120.
  • [fix] Fixed the settings panel layout on the Performance page, which was overlapped by the message about the outdated browser version
  • [fix] Fixed the table columns auto resizing
  • [fix] Fixed the table header width issue that appeared on the table resizing
  • [fix] Fixed the table layout that crashed on scrolling
  • [fix] Fixed the empty space between the last NS and the Total section on the Memory page
  • [fix] Fixed the title changing on the NS page during a new NS creating
  • [fix] Fixed the tooltip position in the sidebar menu
  • [fix] Fixed “+” button for the Expire after field