Releases: Restream/reindexer
Releases · Restream/reindexer
v3.25.0
Core
- [fea] Added field
max_iterations_idset_preresult
into#config
-namespace. This field allows to configurepreselect
limit for theJOIN
-queries - [fea] Added
WHERE
-values deduplication for the composite indexes inSELECT
-queries - [fea] Added scalar fields support for the
array_remove
andarray_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'sschema
modification - [fix] Fixed online replication for
DeleteMeta
-calls
Reindexer server
- [fix] Fixed errors in swagger.yml
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*
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 thedense
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. Previoslystore(-)
indexes have used the column forint
,int64
,double
,uuid
andbool
types only. The column subindex may be disabled with thedense
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
- [fea] Added APT-repo for
AltLinux P10
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
Core
- [fea] Added
array_remove
andarray_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 nowsparse
-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 whenWHERE
-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
andDeleteMeta
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
- [fea] Added APT-repo for
AltLinux P10
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
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
andcomposite
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 intoGitHub
source tree
v3.23.0
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*
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
intosharding.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
v3.22.1
Core
- [fix] Fixed
COUNT()
for fulltext queries, whenpreselect_before_ft
is enabled in the index config - [fix] Fixed
LIMIT
/OFFSET
behavior forMERGE
-queries, whenpreselect_before_ft
is enabled in the index config - [fix] Disabled in-memory WAL for the system namespaces
Replication
- [fix] Improved transactions replication via WAL queries: from now transactions will not be splitted into separate insert/updates on the follower
Face
- [fix] Fixed the Check request
- [fix] Added bottom padding to the Performance Updates chart
v3.22.0
Core
- [fea] Added
explain
results for the subqueries - [fea] Added support for limit/offset in
Delete
andUpdate
queries - [fea] Optimized ordered indexes' cache logic to achive more cache hits and more compact cache size
- [fea] Added support for
COUNT_CACHED(*)
/CachedTotal()
aggregation in the queries with INNER JOINS. Now it's possible to cache total count results for such queries - [fix] Fixed SQL parsing for combinations of the subqueries and other conditions in the main query
- [fix] Fixed select functions with '.' delimiter. Previously those functios actually expected '=' as a delimiter
Fulltext
- [fea] Reworked logic for the stop-words. More details
- [fea] Added config for the base ranking algorithm. Check
bm25_config
field in the fulltext settings
Replication
- [fea] Fixed sync logic to allow modification of the server 's ID at runtime
Reindexer server
- [fix] Fixed SQL suggests for subqueries and certain types of the JOIN-queries
Docker
- [fea] Base docker image was updated to alpine 3.19
Build
- [fix] Fixed dependencies and build for alpine 3.15+
- [fix] Fixed Release build with GCC 13.2
Face
- [fea] Added the subqueries field to the explain mode
- [fea] Upgraded Webpack to 5.х
- [fea] Added the default values to the NS config during the mode 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 the "+" button for the Expire after field
v4.13.0 *beta*
Core
- [ref] Deprecated
EnableStorage
API was removed
Replication
- [fea] Added compatibility mode for the replication. If reindexer v4 was built with
ENABLE_V3_FOLLOWERS
cmake option, it is able to replicate to the reindexer v3 followers (v3.21.0 or newer)
Sharding
- [fea] Sharding configuration command is now works with RAFT-cluster shards (on the empty namespaces)
- [fix] Fixed #config-namespace rollback on the sharding configuration errors
Go connector
- [fea] Go object cache (LRU) is now able to work with sharded clusters, RAFT-clusters and async replicas
Ported
v3.21.0
Core
- [fea] Added subqueries support (
explain
for subqueries will be implement in the next releases) - [fea] Added backtraces/minidump support for Windows platform
- [fea] Added query crash tracker support for Windows platform
- [fix] Added explicit error for aggregations in joined queries
- [fix] Fixed UPDATE-queries for array-indexes with multiple JSON-paths
- [fix] Fixed UPSERT/UPDATE for sparse arrays with null-values
- [fix] Optimized tagsmatcher's updates in UPDATE-queries
Replication
- [fea] Added some temporary replication fixes for v4-compatibility (one of the next v4 releases will contain v3-v4 compatibility mode for migration)
Reindexer server
- [fea] Added HTTP DSL for subqueries
Go connector
- [fea] Added Go API and DSL-convertor for subqueries
- [fea] Changed CJSON-to-object convetrion logic for slices: now the single JSON values and fields with multiple JSON-paths will be concatenated together in the target field
- [fea] Added
WithStrictJoinHandlers
. This option allows to validate JoinHandlers usage in runtime - [fix] Fixed panic handling in the CJSON deserialization
- [fix] Fixed logging in
cproto
-binding. Error messages will no longer be redirected to stdout instead of user's logger
Face
- [fea] Saved the scroll position on the sorting
- [fea] Changed the Server ID range
- [fea] Improved the notification about the supported browsers
- [fea] Added the default values to the config form when the default config is using
- [fix] Fixed the wrong redirect to a fake database
- [fix] Fixed the column order changing on the data sorting
- [fix] Fixed the horizontal scroll on the data sorting
- [fix] Fixed the wrong data filtering in the Statistics tables
- [fix] Fixed the modal window with the notification about the JSON-tags clearing
- [fix] Fixed the "+/-" buttons for the inputs
- [fix] Fixed the console issue appeared on the array data sorting
- [fix] Fixed the layout of the Performance page
- [fix] Fixed the pagination buttons
- [fix] Fixed the misprint in Config