8. 9 Release Notes
On this page
Note
-
To deploy a SingleStore 8.
9 cluster, refer to the Deploy SingleStore Guide. -
To make a backup of a database in this release or to restore a database backup to this release, follow this guide.
-
New deployments of SingleStore 8.
9 require a 64-bit version of RHEL/AlmaLinux 7 or later, or Debian 8 or later, with kernel 3. 10 or later and glibc2.17 or later. Refer to the System Requirements and Recommendations for additional information.
Release Highlights
Note
This is the complete list of new features and fixes in SingleStore engine version 8.
Full-Text Search - Analyzers and Tokenizers
Full-text search using SingleStore's VERSION 2 full-text index has been enhanced with support for custom analyzers and tokenizers.
Full-Text Search - Enhanced BM25 Scoring
Full-text search using SingleStore's VERSION 2 full-text index has updated BM25 scoring functionality.
The BM25 function has been enhanced with support for boolean and boost queries, phrase and proximity search queries, and queries over multiple columns.
A new function, BM25_, has been added to provide BM25 scoring across all partitions.BM25_ function augments the existing BM25 and MATCH functions, and it is more accurate and more expensive than both of these functions.BM25_ function.
Iceberg Continuous Ingest
Added support for continuous ingest of data from Iceberg tables.CREATE OR REPLACE command are supported.
Iceberg - New Catalogs
Added support for Snowflake, REST, JDBC, Hive, and Polaris Catalogs for Iceberg Ingest using pipelines.
Enhanced Disk Spilling
Added disk spilling for RIGHT and FULL OUTER JOIN.
Writable Views
Writable views allow users to run UPDATE, INSERT, and DELETE queries on views.enable_ global variable to 1.information_ view to inspect if a view can be updated.
Other Improvements and Fixes
Vector Index on Nullable Column
Vector Indexes can be created on columns that are nullable.NOT NULL.NULL vector value into a table with a vector index.
Vector Index Memory Tracking
The memory used by vector indexes can be tracked using the alloc_ metric which is now available in SHOW STATUS EXTENDED.
Vector Index Merger
Added the vector index merger which combines per-segment vector indexes to create a cross-segment vector index and improve the performance of vector search queries.
High Availability for the Master Aggregator
Note: This is a Preview feature and will be part of an upcoming add-on pricing package.
High availability (HA) for the Master Aggregator (MA) node enhances the reliability of mission-critical workloads.
Other Performance Enhancements
-
Enhancement: Added sub-segment elimination for flexible parallelism.
Refer to Flexible Parallelism for more information. -
Enhancement: Performance of full-text search, specifically throughput performance, has been significantly improved.
-
Enhancement: Improved performance of
VECTORtype user-defined variables (UDVs).These variables no longer require using extra typecast to BLOBdata type. -
Enhancement: Improved the performance of
LOAD DATAqueries that include theCHARACTER SETclause. -
Enhancement: Improved performance of the
CREATE PROJECTIONcommand by skipping unique key checks. -
Enhancement: Improved the performance of
REPLACEquery into a columnstore table when table-level locking is triggered. -
Enhancement: Improved the performance of
CREATE {TABLE | TABLES} AS INFER PIPELINEqueries. -
Enhancement: Optimized full-text queries with
ORDER BY .on a full-text score and that optionally filter on the same full-text clause.. . LIMIT -
Enhancement: Significantly improved the performance (~20x) of certain JSON-based SQL queries, when JSON objects contain arrays of sub-objects.
This optimization reduces the need to normalize the data into multiple tables to achieve high analytics performance. Queries that expand JSON arrays (with or without any aggregations) and/or perform the following operations benefit from this optimization:
-
Group by a field outside the array (in the
GROUP BYclause) -
Filter on the fields in the array
-
New Information Schema Views and Columns
-
Enhancement: Added a new
BLOB_column forCOMPUTE_ ID COLUMNAR_andSEGMENTS MV_information schema views.COLUMSTORE_ FILES (8. 9. 38) -
Enhancement: Added a new column
MEMORY_toUSAGE_ BYTES LMV_andRESOURCE_ POOL_ STATUS MV_information schema views.RESOURCE_ POOL_ STATUS (8. 9. 38) -
Enhancement: Added
ATTACH/DETACH/CREATE/DROPtoinformation_.schema. mv_ events (8. 9. 35) -
Enhancement: Added the
ACTIVE_information schema view that provides visbiility into active metadata transaction read versions.METADATA_ VERSIONS (8. 9. 31) -
Enhancement: Added the
MV_information schema view that provides visibility into garbage collection passes.GC_ EVENTS This view is gated behind the preview feature and engine variable enable_.gc_ events (8. 9. 31) -
Enhancement: Added the
TABLE_column to theNAME LOAD_information schema view.DATA_ ERRORS TABLE_is the name of the table associated with the error.NAME -
Enhancement: Added the
NODE_column to theID MV_information schema view that specifies the ID of the node from which the database is being recovered.RECOVERY_ STATUS -
Enhancement: Added the
MV_information schema view that contains a summary of remote API calls made from the engine.BOTTOMLESS_ API_ EVENTS_ SUMMARY Refer to MV_ BOTTOMLESS_ API_ EVENTS_ SUMMARY for more information. -
Enhancement: Added the following columns (metrics) to the
MV_andBOTTOMLESS_ STATUS_ EXTENDED MV_information schema views:BOTTOMLESS_ SUMMARY -
IS_: Indicates whether the bottle service is up.BOTTLE_ SERVICE_ UP -
BOTTLE_: Specifies the minimum uptime when the bottle service is up and the maximum downtime when the bottle service is down.SERVICE_ UPTIME_ DOWNTIME_ SECS
-
New Commands and Functions
-
Enhancement: Introduced new JSON_
BUILD_ ARRAY function. (8. 9. 5) -
New feature: Added the
FULLTEXT SERVICE STOPcommand.This command stops the full-text V2 service running on any node connected to the aggregator on which the command is run. Refer to FULLTEXT SERVICE STOP for more information. -
New feature: Added the following Identifier Generation Functions:
-
UUID_TO_ BIN -
BIN_TO_ UUID -
IS_UUID
-
-
New feature: Added a
SHOW FULLTEXT SERVICE METRICScommand that displays the diagnostic metrics for the JLucene full-text search in JSON format.Refer to SHOW FULLTEXT SERVICE METRICS for more information. -
New feature: Added a
SHOW CDC EXTRACTOR POOLcommand that displays information about the CDC-in pipelines.Refer to SHOW CDC EXTRACTOR POOL for more information. -
New feature: Added a new
JSON_function that merges two JSON objects into a single JSON object.MERGE_ PATCH Refer to JSON_ MERGE_ PATCH for more information. -
New feature: Added support for Lateral Join.
Lateral join allows a subquery in the FROMclause of a SQL query to reference another table in that sameFROMclause, which can simplify query syntax.Refer to Lateral Join for more information.
New or Modified Engine Variables
Refer to List of Engine Variables for information on each of the following engine variables.
-
Enhancement: Added the
regexp_engine variable was added; this variable controls the behavior of error handling for regexp operations.error_ handling_ level (8. 9. 38) -
Enhancement: Added the
managed_engine variable which makes the maximum number of HTTP connections per node for managed external functions, such as Python User Defined Function (UDF)s, configurable.functions_ max_ connections (8. 9. 35) -
Enhancement: Added a
suppress_global variable to suppress all DML query warnings.dml_ warnings (8. 9. 35) -
Enhancement: Added an engine variable
optimizer_which can be used to disable the subselect to join rewrite for CTE preprocessing before inlining or materialization.disable_ subselect_ to_ join_ cte_ preprocess (8. 9. 16) -
Enhancement: Added an engine variable
optimizer_which can be used to enable or disable the rewrite that merges union queries.enable_ merge_ unioned_ queries_ rewrite This variable is ONby default.(8. 9. 15) -
Enhancement: Added an engine variable
disk_that disables disk plan garbage collection on startup.plan_ gc_ pause_ seconds_ on_ startup This variable prevents hot plans from being unintentionally disk garbage collected. (8. 9. 11) -
Enhancement: Added a new engine variable
scheduler_that specifies the threshold for triggering the verbose logging of scheduler thread timing.slow_ loop_ seconds (8. 9. 8) -
Enhancement: Added a new engine variable
scheduler_that specifies the threshold for triggering logging of slow ready queue draining.slow_ ready_ queue_ seconds (8. 9. 8) -
Enhancement: Introduced
pipelines_global engine variable to control memory used by iceberg data processing.iceberg_ data_ workers_ heap_ size (8. 9. 5) -
Enhancement: Added a new engine variable
sync_that specifies the timeout (in seconds) to synchronize the cluster metadata across the cluster.partitions_ timeout_ sec -
Enhancement: Added a new engine variable
disconnect_.client_ on_ invalid_ connection_ state If enabled, client connections are closed when their state becomes invalid. -
Enhancement: Added a new engine variable
synchronize_that specifies the time (in seconds) long running queries wait for reference databases to synchronize on commit in the cluster.reference_ timeout_ ms -
Enhancement: Added a new engine variable
assume_that controls behavior where SingleStore does extra work to avoid issues caused by UDFs that return different values when called repeatedly (e.udfs_ deterministic g. , are non-deterministic). -
Enhancement: Added a new engine variable
max_to tune the maximum number of background autostats update workers.autostats_ update_ workers -
Enhancement: Added a new engine variable
enable_that enables creation of writable views.writable_ views Refer to CREATE VIEW for more information. -
Enhancement: Added a new engine variable
recovery_that controls the replay and database initialization concurrency during database recovery.concurrency -
Enhancement: Updated the minimum value of
json_engine variable todocument_ max_ children 1(from128previously). -
Enhancement: Disabled the
optimize_engine variable by default.json_ computed_ column -
Enhancement: Added a new engine variable
enable_that controls the collection of block-level statistics for sub-segment elimination for flexible parallelism.block_ level_ stats_ collection -
Enhancement: Added a new engine variable
enable_that controls whether the block-level statistics are read and used during scan as part of sub-segment elimination for flexible parallelism.block_ stats_ use_ in_ query -
Enhancement: Added a new engine variable
pipelines_to control heap size specifically for Iceberg pipelines.iceberg_ heap_ size -
Enhancement: Added
json_global variable to control collation of JSON.collation The value of json_can be eithercollation utf8_orbin utf8mb4_.bin -
Enhancement: Added a method to throttle upload ingest when blob cache has low evictability and running out of disk space is imminent.
This is controlled via the following two new engine variables: -
bottomless_: The usability (free space + evictable space) of blob cache below which all columnstore ingest is throttled.upload_ throttle_ hard_ limit_ cache_ usability -
bottomless_: The usability (free space + evictable space) of blob cache below which some columnstore ingest is throttled.upload_ throttle_ soft_ limit_ cache_ usability
-
-
Enhancement: Added a new
optimizer_engine variable that controls a new filter derivation rewrite.not_ null_ filter_ derivation -
Enhancement: Added a new engine variable
external_that sets the maximum size (in MB) of the memory-mapped region used to communicate between the engine and collocated services.functions_ service_ buffer_ mb -
Bugfix: During the upgrade to SingleStore 8.
9, if the value of fts2_is equal tomax_ connections 100000, it is set to32. -
Enhancement: Added a new engine variable
early_that specifies the time (in seconds) to wait after ansnapshot_ timeout_ seconds ALTERorTRUNCATEcommand before taking an early snapshot.
Miscellaneous
Updates
-
Enhancement: Added collection of enhanced query stats from kill query Recursive Common Table Expressions (RCTE) writer statistics and sorted iterator error cases.
(8. 9. 38) -
Enhancement: Added Unix timestamp versions of
start_andtime event_fields in event trace samples exposed by monitoring exporter.time (8. 9. 38) -
Enhancement: Modified ingestion to skip
NULLrecords while usingSKIP ALL ERRORSandSKIP PARSER ERRORSin Kafka pipelines.(8. 9. 38) -
Enhancement: Improved error handling for regular expressions: errors are now properly raised instead of returning SQL-NULL.
The regexp_engine variable was added; this variable controls the behavior of error handling for regexp operations.error_ handling_ level (8. 9. 38)
-
Bugfix: Resolved an issue where the regular expression engine would return SQL-NULL when hitting the memory limit during execution.
It now raises an appropriate error instead. (8. 9. 38) -
Bugfix: Fixed an issue that caused a stalled cluster in the presence of many concurrent
DROP TEMPORARY TABLEcommands.(8. 9. 38) -
Bugfix: Fixed memory tracking for some queries which were not being tracked properly, result tables to be specific.
(8. 9. 38)
-
Enhancement: Added the ability to ignores join selectivity estimates of zero.
(8. 9. 37) -
Bugfix: Fixed a situation where long running background work can block in-memory garbage collection of database metadata.
(8. 9. 37) -
Bugfix: Fixed a memory allocation bug during query compilation.
(8. 9. 37) -
Bugfix: Fixed a bug where large queries can crash the engine in
compile_andlite compile_interpreter modes.lite_ first (8. 9. 37) -
Bugfix: Fixed stack overflows in
compile_andlite compile_interpreter mode.lite_ first (8. 9. 37) -
Bugfix: Fixed a bug with some
NOT INsubselect query shapes.(8. 9. 37) -
Bugfix: Limited the number of retries on plan compilation errors; this fix limits resource usage.
(8. 9. 37) -
Bugfix: Fixed a deadlock in result table creation during reshuffle with the always-false filter.
(8. 9. 37)
-
Enhancement: Manually register the path to the Java 11 library.
This path is set with the java_engine variable.pipelines_ java11_ path (8. 9. 36) -
Enhancement: Enabled using the estimated table row count as default column cardinality for better join estimation.
Added session variable optimizer_which controls the maximum estimated table row count to be used as the per column cardinality.max_ table_ row_ count_ as_ default_ cardinality (8. 9. 36) -
Bugfix: Fixed a bug in the detection of shard key matches in the window function partition by list.
(8. 9. 36) -
Bugfix: Fixed using Delimited Batch Sets with JSON format.
(8. 9. 36) -
Bugfix: Fixed an issue where the
ALTER TABLEcommand could hang and become unkillable due to a type conversion error occurring during theALTERoperation.(8. 9. 36)
-
Enhancement: Removed the
CASToperator if a redundant cast is performed.(8. 9. 35) -
Enhancement: Changed the approach for delimited batch sets.
Delimited batch sets now return and accept original rowIDs. (8. 9. 35) -
Enhancement: Added support for metadata garbage collection for Azure pipelines.
(8. 9. 35) -
Bugfix: Fixed an error in backup subprocess and enhanced subprocess tracing to use structured logging.
(8. 9. 35) -
Bugfix: Fixed a crash when BM25 in a subselect references a table from the outer select.
(8. 9. 35) -
Bugfix: Fixed an issue where certain commands (e.
g. DROP TABLE) could hang due to aborted queries caused by stuck Collocated Services triggered by External Functions.(8. 9. 35) -
Bugfix: Fixed performance regression for queries involving JSON (like
JSON_builtins) (8.EXTRACT_ <type> 9. 35) -
Enhancement: Added knob to disable cardinality estimates on JSON/BSON columns during analyze.
(8. 9. 34) -
Bugfix: Fixed query performance issue caused by heuristic estimate selectivity being overwritten.
(8. 9. 34) -
Bugfix: Updated third party libraries to fix security vulnerabilities.
(8. 9. 34) -
Bugfix: Fixed an issue where monitoring pipelines would sometimes fail to produce data for large source clusters.
(8. 9. 34) -
Bugfix: Fixed row count estimation for union subquery containing Materialized Common Table Expression (MCTE)s.
(8. 9. 34)
-
Bugfix: Updated third party libraries to fix security vulnerabilities.
(8. 9. 33)
-
Enhancement: Added support for fully enclosed optimization on nullable columns and segment elimination on
IS NULLfilter.(8. 9. 31) -
Bugfix: Fixed incorrect results in an
ORDER BY <sort key> LIMITquery, caused by an issue where rows with null values in the sort key may be skipped.(8. 9. 31) -
Bugfix: Fixed incorrect aggregation of leaf query stats in Query_
completion tracing. (8. 9. 31)
-
Bugfix: Bumped the _
bt timeout from 60 seconds to 180 seconds. (8. 9. 29) -
Bugfix: Fixed results for
NOT INsubselects when the left input table hasNULLvalues.(8. 9. 29) -
Bugfix: Fixed logic for
NOT INsubselects when nested underORs.(8. 9. 29) -
Bugfix: Fix correctness when using
NOT INfor some query shapes.(8. 9. 29)
-
Enhancement: Added Lucene logs to the cluster report.
(8. 9. 28) -
Bugfix: Fixed a bug in lateral joins.
(8. 9. 28)
-
Bugfix: Fixed the predicate pushdown logic for materialized common table expressions.
(8. 9. 27) -
Bugfix: Fixed an issue where periodic autostat was disabled when it should not have been.
(8. 9. 27)
-
Bugfix: Fixed crash in lockfree hashtable when engine is under high memory pressure.
Report out of memory error instead. (8. 9. 26) -
Enhancement: Users with database visibility can now query the
*_information schema views in the respective database.BOTTOMLESS_ * CLUSTERpermissions are no longer enforced for querying these views.(8. 9. 25) -
Enhancement: Improved the error message for parameter count mismatch during query parsing.
(8. 9. 25) -
Enhancement: Disabled segment elimination for
INclauses for which the left-hand expression is not a table column.(8. 9. 25) -
Bugfix: Fixed a leak in a rare scenario.
(8. 9. 25) -
Bugfix: Fixed the
ER_error onBAD_ TABLE_ ERROR UPDATEorDELETEqueries with a specific shape.(8. 9. 25) -
Bugfix: Fixed a crash in a shallow copy of a table with a pending
ALTERoperation.(8. 9. 25) -
Bugfix: Fixed a bug in CTE query rewrites.
(8. 9. 25) -
Bugfix: Fixed a potential replay failure on a table that uses full-text version 2.
(8. 9. 25) -
Bugfix: Fixed an issue where
IN-list factorization did not work with newline characters around theIN-list.(8. 9. 25)
-
Enhancement: Extended a rewrite to allow merging derived tables with json functions.
(8. 9. 24) -
Enhancement: Changed the default blob cache size to 75% of the total disk for small disk config.
(8. 9. 24) -
Enhancement: Enabled rewriting correlated subselects that depend on more than one outer table with conditions other than equality.
(8. 9. 24) -
Enhancement: Prevented the destination table from being replaced by projection on update or delete.
(8. 9. 24) -
Enhancement: Renamed GIN index to Multi-Value Hash Index.
GIN keyword deprecated. (8. 9. 24) -
Bugfix: Fixed a bug that caused filter-aware optimizations to not be applied above MCTE when involved in hash joins.
(8. 9. 24) -
Bugfix: Fixed a bug that occurred when CTEs are rewritten.
(8. 9. 24)
-
Enhancement: Added more metrics to the views,
MV_andCLOUD_ PER_ COMPUTE_ REMOTE_ STATS MV_, for tracking of retention log chunks and snapshots.CLOUD_ REMOTE_ STATS (8. 9. 22) -
Enhancement: Added support for stopwords
token_for custom analyzers for FTS VERSION 2.filter (8. 9. 22) -
BugFix: Fixed invalid optree from rewrite on union queries matching a very specific shape.
(8. 9. 22)
-
Enhancement: Added estimates for query memory usage based on static row count and row size estimates to improve Workload Manager (WM) memory management.
(8. 9. 21) -
Enhancement: Added support to the GIN Index for BSON for expressions, built-in functions, user-defined variables (UDVs), and typecasting.
User-defined functions (UDFs) and non-deterministic built-in functions, such as rand(), remain unsupported. (8. 9. 21) -
Bugfix: Fixed an issue that could lead to undefined behavior when a node failed concurrently with the computation of the replication distribution tree.
(8. 9. 21) -
Bugfix: Fixed a
NULLvalue inline bug by adding typecast operations above the referencing field.(8. 9. 21) -
Bugfix: Fixed an issue where a node that had not been upgraded could trigger undefined behavior if the node's
processlistwas queried while the node was processing an internal RPC.(8. 9. 21)
-
Enhancement: Added a
KILLoption for theDETACH DATABASEcommand.(8. 9. 20)
-
Enhancement: Improved optimization speed of parameterized
IN-lists by limiting traversal depth.(8. 9. 19) -
Enhancement: Added support for delimited batch sets in external functions.
(8. 9. 19) -
Enhancement: High Availability for the Master Aggregator (HA for MA) is now enabled exclusively for Enterprise edition.
(8. 9. 19) -
Enhancement:
OPTIMIZE TABLE .is now more responsive to. . INDEX KILL QUERYstatements.(8. 9. 19) -
Bugfix: Fixed a bug that caused
DROP DATABASEto hang in a rare condition.(8. 9. 19) -
Bugfix: Fixed an issue that returned wrong results in pipelines in a rare race condition.
(8. 9. 19) -
Bugfix: Fixed an issue that caused a crash when a query referenced too many tables.
(8. 9. 19) -
Bugfix: Changed options for loading libpam.
so. (8. 9. 19) -
Bugfix: Fixed a race condition that caused
DETACH DATABASEto hang.(8. 9. 19) -
Bugfix: Fixed a buffer overflow issue that occurred while de-parameterizing a multi-column
IN-list filter.(8. 9. 19) -
Bugfix: Fixed an issue to prevent LRU eviction from stalling when several table modules are stale.
(8. 9. 19) -
Bugfix: Fixed a bug in
JSON_join pushdown optimization that occurred when the JSON value being extracted fromTO_ ARRAY() table_is a JSON array.col (8. 9. 19)
-
Enhancement: General improvements and optimizations for
CHECK BOTTOMLESS CHECKSUMcommand.(8. 9. 18) -
Enhancement: Added support for JSON arrays in pipelines loading JSON files.
Each JSON record in the array is loaded as a separate row. (8. 9. 18) -
Bugfix: Fixed
ALTER RESOURCE POOLto respect queue depth constraints.(8. 9. 18) -
Bugfix: Fixed a bug that produced incorrect results when performing a hash join with a condition that compares mismatched types where one of the types is BSON.
(8. 9. 18) -
Bugfix: Fixed a crash caused by libgcc btree bug.
(8. 9. 18) -
Bugfix: Reduced contention on a global lock controlling modules, affecting code loading and unwinding of exceptions.
(8. 9. 18) -
Bugfix: Removed garbage collection from cleaning up arrangements when such garbage collection is already in process.
(8. 9. 18)
-
Bugfix: Fixed an issue impacting creating or a altering resource pool with a CPU percentage limitation after a MA failover.
(8. 9. 17)
-
Bugfix: Fixed CTE subselect to join preprocessing in the
INTERSECT/EXCEPTCTE case.(8. 9. 16) -
Bugfix: Reserved memory space for
segment_in the pseudo column's MemoryFile.id (8. 9. 15) -
Bugfix: Fixed a bug that occurred when a query used
I0as a column name.(8. 9. 15) -
Bugfix: Fixed a crash that was due to an issue with the rewrite that merges union queries.
(8. 9. 15)
-
Enhancement: Added support for the
LIMITclause in prepared statements.(8. 9. 14) -
Enhancement: Added an option to run queries that failed asynchronous compilation, allowing users to introspect the compilation results.
. (8. 9. 14) -
Bugfix: Fixed an issue to prevent a crash when
JSON_optimization is run against non-nullable JSON columns.TO_ ARRAY . (8. 9. 14)
-
Enhancement: Added enhanced query tracing in
Query_event traces.completion Refer to Query History for details. (8. 9. 13) -
Enhancement: Added the ability for a user to change the login password when the variable
password_is set to LIMITED_expiration_ mode ACCESS. Now the user is allowed to login even after the password expires but can only execute commands that update the password such as ALTER USERorSET PASSWORD.(8. 9. 13) -
Enhancement: Added a password expiry warning message that is raised each time the user executes a query.
This warning starts appearing 14 days before the password actually expires. (8. 9. 13) -
Enhancement: Added auditlogging mode for only the root user.
It is a startup-only variable similar to other audit logging configuration variables and should be set along with the auditlog_.level (8. 9. 13) -
Bugfix: Fixed a bug that caused a node to crash when the variable
ignore_isforeign_ keys ONand theALTER TABLEcommand is used to add a foreign key.(8. 9. 13) -
Bugfix: Changed the output projection DDL to
CREATE PROJECTIONinstead ofCREATE TABLE _in debug profile.$_ table_ name_ $ _ (8. 9. 13) -
Bugfix: Fixed an issue where DDL statements that were concurrent with PROMOTE AGGREGATOR TO MASTER did not get forwarded to the new Master Aggregator.
-
Bugfix: Fixed a bug to prevent a crash when using FTS v2 with CTE.
(8. 9. 13)
-
Bugfix: Fixed a bug that caused incorrect results when running
INFER PIPELINE CSV.(8. 9. 12) -
Bugfix: Fixed a rare deadlock occurring when DETACH DATABASE is run.
(8. 9. 12)
-
Enhancement: Added an internal allocator
Alloc_which tracks certain per-connection allocations that were previously tracked using the standard allocator.connection_ context (8. 9. 11) -
Bugfix: Fixed a crash that occurred when aggregator functions are used with
VECTORtype data inside other built-ins.(8. 9. 11) -
Bugfix: Fixed the
userDictionaryparameter for the korean full-text tokenizer.(8. 9. 11)
-
Enhancement: Added a vector index cache to limit the amount of memory used by vector indexes.
Refer to Vector Indexing for details. (8. 9. 10) -
Enhancement: Extended the VECTOR_
SUM aggregate function to support the VECTORdata type.(8. 9. 10) -
Enhancement: Computed column definitions now support the
SPLITfunction.(8. 9. 10) -
Enhancement: The
DROPandALTER TABLEcommands no longer have to wait for the plan garbage collector.(8. 9. 10) -
Bugfix: Fixed a crash occurring when a table-valued function (TVF) column is used in a
WHEREclause without a wrappingJSON_function in aEXTRACT TABLE(JSON_join.TO_ ARRAY()) (8. 9. 10) -
Bugfix: Fixed a bug that caused CDC-in pipelines to fail while inferring the table schema, with the "Failed to allocate slot in the extractor pool" error.
(8. 9. 10) -
Bugfix: Fixed a deadlock between
ALTERand failover in a rare race condition.(8. 9. 10) -
Bugfix: Fixed a critical issue where clusters were failing to connect to AWS remote storage due to CURL request timeouts.
(8. 9. 10) -
Bugfix: Fixed a bug where a CDC pipeline gets stuck while waiting for data.
(8. 9. 10)
-
Bugfix: Fixed support for plan pinning in
INlist factorization.(8. 9. 9) -
Bugfix: Fixed a bug that prevented proper error handling on socket timeout.
(8. 9. 9) -
Bugfix: Fixed a bug in
JSON_query rewrite for query shapes with theARRAY_ CONTAINS_ STRING LIMITclause.(8. 9. 9)
-
Enhancement: Improved pipeline error clearing.
Additional errors are cleared when CLEAR PIPELINES ERRORSis run or when thepipelines_limit is reached.errors_ retention_ minutes (8. 9. 8) -
Bugfix: Fixed network connectivity performance issues impacting BYOC clusters communicating with the remote storage.
(8. 9. 8) -
Bugfix: Fixed a bug in lateral join to preserve projection field aliases for lateral join subselects.
(8. 9. 8)
-
Enhancement: Improve behavior of garbage collection for plancache.
(8. 9. 7) -
Bugfix: Fixed a bug caused by using a (cross-segment) vector index (Vector Indexing) with null vectors.
Users on prior 8. 9 versions will need to recreate (drop and add) vector indexes for this fix to be effective as the cross-segment indexes are built in the background. (8. 9. 7)
-
Bugfix: Fixes a data-dependent crash condition occurring in certain
TABLE(JSON_joins introduced in version 8.TO_ ARRAY(. . . 9. (8. 9. 6) -
Enhancement: Added new nori (Korean) analyzer customizations for Full-Text Search V2.
(8. 9. 5) -
Enhancement: Added support for updated Standard and Enterprise licenses.
(8. 9. 5) -
Enhancement: Added logging for LRU compiled unit eviction.
(8. 9. 5) -
Enhancement: Introduced support for placeholders for partition ID and timestamp in the
SELECT INTO .command.. . file name (8. 9. 5) -
Bugfix: Fixed a bug causing accumulation of .
rem files on disk. (8. 9. 5) -
Bugfix: Fixed out of memory (OOM) errors and extra memory usage in Iceberg ingest.
(8. 9. 5) -
Bugfix: Fixed a small memory bug in columnstore scans that use the
JSON_join optimization.TO_ ARRAY (8. 9. 5)
-
Bugfix: Fixed a crash in
JSON_.EXTRACT_ STRING (8. 9. 4) -
Bugfix: Fixed a bug with updates and asserts using
JSON_predicates.ARRAY_ CONTAINS_ <type> (8. 9. 4) -
Bugfix: Fixed bottomless upload throttling criteria.
(8. 9. 4) -
Bugfix: Blocked creation of temporary table as a shallow copy.
(8. 9. 4) -
Bugfix: Resolved an issue where an in-development subsystem can leak files on disk.
(8. 9. 4)
-
Enhancement: Relaxed dependency on partition count of leaf nodes for leaf plans.
(8. 9. 3) -
Enhancement: Added Korean language analyzer for full-text search V2.
(8. 9. 3) -
Enhancement: Added support to infer CSV files with a single column when the file contains no field terminators in any record.
(8. 9. 3) -
Bugfix: Fixed handling of heartbeat messages in the MongoDB® extractor in debug mode.
(8. 9. 3) -
Bugfix: Fixed display of default BSON and string values with null-terminators in the information_
schema. (8. 9. 3) -
Bugfix: Removed trailing dot for decimal column types that have scale equal to 0.
(8. 9. 3) -
Bugfix: Fixed
IN-list index matching for columnstore tables when a query has multipleIN-list predicates.(8. 9. 3) -
Bugfix: Fixed a bug that caused an invalid optree error after the
JsonArrayContainsToTableBuiltinrewrite.(8. 9. 3)
-
Bugfix: Fixed a crash that occurred during spilling when executing a query with a large number of
GROUP BYcolumns.(8. 9. 2) -
Bugfix: Fixed performance regression in Vector Search when using
DOT_metric.PRODUCT (8. 9. 2) -
Bugfix: Added an optional 'swap_
time' argument to UUID_andTO_ BIN BIN_functions.TO_ UUID (8. 9. 2) -
Bugfix: Allowed cached table memory to be freed for empty tables in replica databases.
(8. 9. 2) -
Bugfix: Fixed a latera l join parsing bug.
(8. 9. 2)
8. 9
-
Enhancement: Added the
DETERMINISTICclause to theCREATE FUNCTION(UDF) command that instructs the query optimizer to assume that the created function is deterministic.Refer to CREATE FUNCTION (UDF) for more information. -
Enhancement: Added support for the
IGNORE <n> LINESclause to theINFER PIPELINEcommand for CSV files.Refer to Schema and Pipeline Inference for more information. -
Enhancement: Added a query rewrite for correlated sub-selects that allows many additional types of queries with correlated sub-selects to now run successfully.
-
Enhancement: Added support for using the
SKIP ALL ERRORSclause during creation of Kafka pipelines for ingesting JSON formatted data. -
Enhancement: Added support for
SKIP ALL ERRORSandSKIP PARSER ERRORSclauses during creation of Kafka pipelines for ingesting Avro formatted data. -
Enhancement: Added the ability to load Kafka properties and headers with the
get_function.kafka_ pipeline_ prop("<property>") -
Enhancement: Added the ability to override the
pipelines_global variable for each Kafka pipeline using themax_ offsets_ per_ batch_ partition MAX_pipeline variable inOFFSETS_ PER_ BATCH_ PARTITION CREATE PIPELINEandALTER PIPELINEcommands. -
New feature: Added support for the following parameters in the
CONFIGclause ofCREATE PIPELINE AS .statement:. . LOAD DATA S3 -
file_: Decompresses files with the specified extensions.compression -
file_: Only ingest files modified after the specified timestamp.time_ threshold
Refer to S3 Configurations for more information.
-
-
Enhancement: Added ability to re-optimize a query multiple times.
Refer to Query Tuning for more information. -
Enhancement: Added the ability to use connection links to load Avro and Parquet formatted data stored in an AWS S3 bucket.
-
Enhancement: Enabled auto PROFILE for
INSERT.and. . SELECT REPLACE.query shapes.. . SELECT -
New feature: Added the
ENABLE_clause in theOVERWRITE SELECT .and. . INTO S3 SELECT .statements that enables the overwriting of existing files.. . INTO LINK Refer to SELECT … INTO S3 for more information. -
Enhancement: Updated PROFILE to show
number_andof_ blocks_ tested_ for_ block_ elim number_for sub-segment elimination for flexible parallelism.of_ blocks_ eliminated_ for_ block_ elim -
Enhancement: Updated the
JSON_functions to accept a JSON document as the only argument.EXTRACT_ <type> With this enhancement, it is possible to extract from JSON documents with a string, numeric, boolean, or NULLvalue as the root of the document. -
Enhancement: Updated the simplified syntax for the
JSON_function, to allow specifyingMATCH_ ANY() MATCH_by appending aELEMENTS *to the end of the keypath. -
Enhancement: Added the ability to load CSV and JSON files from an Amazon S3 bucket using a
LOAD DATAquery. -
Enhancement: Enhanced the
TABLE()function to supportDISTINCT. -
Enhancement: Improved recovery time for tables with incremental autostats by recovering statistics from disk instead of rebuilding them from scratch.
-
Bugfix: Fixed an issue that caused a deadlock between the
DROP TABLEandAGGREGATOR SYNC AUTO_queries.INCREMENT -
Enhancement: Improved the logic for selecting vectors close to vector threshold in vector range search.
-
Bugfix: Fixed an issue where attaching a leaf node to the Master Aggregator (MA) failed if the MA was still starting up.
-
Enhancement: Added support for BM25 partition-scoped scoring for phrase and proximity search queries.
-
Enhancement: Improved columnstore hash index performance on low cardinality column.
-
Enhancement: Improved the Debezium DDL statements parser.
-
Enhancement: Added row count estimate for joins in the output of
EXPLAINandPROFILEqueries. -
Enhancement: Added support for
LIMITandOFFSETclauses in non-equalityWHEREconditions in subselects. -
Enhancements: Added support for
LATERALjoins for table-valued functions (TVFs). -
Enhancement:
SYNC DURABILITYis always enabled for reference databases.Reference tables in user databases that use async durability may notice a decrease in performance for DDL and DML statements. -
Enhancement: Added support for
HIGHLIGHT .as a computed column expression when creating a new table.. . AGAINST -
Enhancement: Added support for a query rewrite that enables hash joins when two tables are joined using the
JSON_function.ARRAY_ CONTAINS_ <type> -
Enhancement: Added support for sub-select to join rewrites for correlated subselects and nested scalar subselects.
-
Enhancement: Added support for null-accepting projections in scalar subselect queries.
-
Enhancement: Added support for
LATERALjoin subselects to reference any level of outer tables. -
Enhancement: Changed the default collation to
utf8mb4_and default character set togeneral_ ci utf8mb4forTEXTandENUMtype columns forCSV,JSON,AVRO, and parquet formats inINFER PIPELINE AS LOAD DATAstatements. -
Bugfix: Fixed an issue that caused dangling compute sessions after a failed
ALTER DATABASEcommand. -
Bugfix: Fixed an issue where concurrent
ALTER DATABASEandREBALANCEoperations create unlimited storage partitions with wrong compute ID. -
Bugfix: Fixed a race condition between the transaction log garbage collection and database transition-to-master that could result in unrecoverable partitions.
-
Enhancement: Updated the distributed OpenSSL license file to 1.
0. 2zj. -
Enhancement: Added support for multi-column
INlist predicate in theWHEREclause of a query. -
Enhancement: Function mapped
IN-lists now share the same signature in the plancache for the same set of built-in functions. -
Bugfix: Removed soft lock on the
CHARACTER SETclause and added a warning to indicate invalid character set value in theLOAD DATAstatement. -
Bugfix: Database names can no longer end with big numbers, such as
db_, to avoid conflicts with internal databases used in replication.<big_ number> -
Enhancement: Each node in the cluster now validates the availability of bottle service every minute and records any consecutive failures in the
LMV_information schema view.EVENTS -
Enhancement: Added more information to the out-of-memory (OOM) errors.
-
Bugfix: Fixed an issue that occurred while parsing manifest files (associated with backup or restore operations) having more than 4096 characters.
-
Bugfix: Fixed an issue that caused duplication of storage blobs that have not been repaired yet for ongoing repair operations.
-
Bugfix: Fixed an issue in MySQL CDC-in pipelines where some MySQL tables with names containing
_were not being replicated. -
Bugfix: Fixed a race condition that caused shutdown to wait on idle async compile manager thread.
-
Bugfix: Fixed an issue where repair operation gets stuck while converting milestones.
-
Bugfix: Fixed a synchronization issue where the database was not immediately available after some clustering operations.
-
Enhancement: Added the estimated number of partitions returned by the query optimizer for cost-based join order optimization to the debug profile.
-
Enhancement: Added support for
VECTORtype inREDUCEbuilt-in function. -
Enhancement: Improved the lockdown message when changing collation or character set related engine variables within
utf8mb4character set. -
Bugfix: Fixed an issue with
PROMOTE AGGREGATOR .command where a restart at the end of the command, followed by manually finishing the promote operation, caused reprovisioning of the old Master Aggregator.. . MASTER -
Bugfix: Fixed an issue that caused an empty network prefetch queue.
-
Bugfix: Fixed a distributed deadlock caused by a query blocking reference database reprovisioning in one part of the deadlock cycle.
-
Enhancement: Added the following headers to Data API responses:
-
Cache-control: no-store -
Strict-Transport-Security: max-age=31536000 -
X-Content-Type-Options: nosniff
-
-
Bugfix: Fixed an issue with counting common table expressions (CTEs) references in a query.
-
Bugfix: Fixed a memory corruption issue caused by a rare race condition involving
MV_information schema view.ACTIVE_ TRANSACTIONS -
Enhancement: Sharding planner now recognizes non-union style single partitioned derived table.
-
Enhancement: Disabled pipeline batches sample by default in
memsql_.exporter -
Enhancement: Improved message for an error where a global variable cannot be set because of a table sharded on a computed column.
-
Enhancement: Improved connection stability for MongoDB® CDC-in pipelines.
-
Enhancement: Upgraded the librdkafka library to version 2.
4. 0-3. -
Bugfix: Fixed an issue where the Master Aggregator (MA) temporarily stopped behaving as the MA after being restarted.
-
Enhancement: Improved the performance of cluster operations through distributed plancache.
-
Bugfix: Fixed a bug with incorrect privilege checks.
-
Enhancement: Optimized row locking for internal transactions.
-
Enhancement: Improved performance of
REVOKEin case of errors. -
Bugfix: Fixed an engine crash caused when the Master Aggregator received a
REMOVE AGGREGATORquery with its own<host>:<port>. -
Enhancement: Reduced the chances of reference database reprovisioning in universal storage if a snapshot is taken concurrently with Master Aggregator shutdown.
-
Enhancement:
TO_andJSON() JSON_built-in functions now convertBUILT_ OBJECT() VECTORtype arguments to JSON array instead of a JSON string. -
Enhancement: Added support for ZSTD compressed Kafka topics to Kafka pipelines.
-
Bugfix: Fixed an issue where
ClampTimestampspammed the tracelog. -
Enhancement: Limit DR connection attempts to the primary node when it is failing connections, avoiding a substantial increase in
TIME_sockets.WAIT -
Enhancement: Improved error messages related to reprovisioning.
-
Enhancement: Implemented rotation and deletion of webproxy socket logs.
-
Enhancement: Ingest Kafka headers into the SingleStore table if they are included in the Kafka message.
-
Enhancement: Lockdown hints for common table expressions (CTEs).
-
Enhancement: Locked select and row count hints for multi-table views.
-
Bugfix: Fixed an issue where slow snapshots blocked clustering operations.
-
Bugfix: Fixed an issue where unrecoverable reference databases did not auto-heal for a prolonged period of time and get blocked, for example, by alter operations.
-
Enhancement: Improved the error message for
Correlated subselect that cannot be transformed and does not match on shard keyserrors. -
Bugfix: Fixed data loss in sync durability in a rare race condition.
-
Enhancement: Improved processing of queries with redundant (superfluous)
EXISTSsubselects. -
Bugfix: Fixed the reference count of committed blobs on upgrade.
-
Enhancement: Added the
ON NODE <node_clause to theid> SHOW PROFILEcommand, which forwards the command to another aggregator. -
Enhancement: Improved enforcement of
internal_engine variable.columnstore_ max_ uncompressed_ blob_ size -
Enhancement: Added a new clause
ENSURE_to thePARTITION_ SAFETY REMOVE {LEAF | LEAVES}command that prevents a leaf (or leaves) from being removed if it contains the last online instance of a partition. -
Enhancement: The
memsql_now collects additional fields from theexporter mv_information schema view.activities_ extended_ cumulative -
Enhancement: Optimized full-text queries that contain an
ORDER BY .over a full-text score and optionally filter on the same full-text clause.. . LIMIT . . . -
Enhancement: Added support for numeric range queries when doing full-text search against JSON fields.
Refer to numeric range queries for more information.
-
Enhancement: Set collation
utf8_for thebin JSON_builtin in cases where the input hasTO_ ARRAY utf8character set, and set collationutf8mb4_in cases where the input hasbin utf8mb4character set. -
Enhancement: If a primary key is defined for the table, the
DELETEchange records forOBSERVEqueries now populate the primary key for tables instead of the internal ID. -
Enhancement: Added information on remote API calls and bottle service reliability metrics to
MV_information schema view.BOTTOMLESS_ STATUS_ EXTENDED -
Enhancement: Added metrics to track the availability of unlimited storage and the bottle service to
MV_information schema view.BOTTOMLESS_ SUMMARY -
Enhancement: Updated the syntax of
JSON_to allow specifyingMATCH_ ANY() MATCH_by appending aELEMENTS *at the end of the keypath. -
Enhancement: Additional binlog position updates for CDC-in pipelines in the extractor pool queue.
-
Enhancement: Information schema queries are no longer case-insensitive with respect to database names.
-
Enhancement: Allow rewrite for joining tables on the
JSON_function to support multiple predicates of that form on different columns.ARRAY_ CONTAINS_ <type> -
Bugfix: Fixed a snapshot not found error.
-
Bugfix: Fixed an issue where the result of a seek operation was not handled correctly.
-
Enhancement: Detect scalar subselect requirement at runtime rather than rewrite time for certain cases.
-
Bugfix: Fixed a bug in full-text search query compilation.
-
New Feature: High availability for the Master Aggregator (HA for MA) has been introduced.
This enhances the reliability and failover capabilities, allowing mission-critical workloads to remain highly available. Refer to Multi-Datacenter Failover for more information. -
Enhancement: Enabled
LOAD DATAqueries to use the specifiedCHARACTER SETto ingest string type fields. -
Enhancement: Improved performance of queries that use the
RAND()builtin or constant expressions involvingPARTITION_.ID -
Enhancement: Added support for a query rewrite when
UNIONis used to merge queries that reference the same tables and have mutually exclusive filters. -
Bugfix: Fixed a rare issue where
ALTERoperation and two-phase commit (2PC) caused index corruption. -
Bugfix: Fixed an issue that caused a crash when the global collation or character was set to a value with the prefix "utf8mb3".
-
Bugfix: Fixed an issue that returned incorrect results when
JSON_andMATCH_ ANY() BSON_queries contained nestedMATCH_ ANY() JSON_,EXTRACT_ <type>() JSON_,MATCH_ ANY() BSON_, orEXTRACT_ <type> BSON_functions.MATCH_ ANY() -
Bugfix: Fixed a rare undefined behavior issue caused by
SHOW CLUSTER STATUScommand. -
Bugfix: Fixed an issue caused when multi-part names were used in common table expressions (CTEs) within UNION.
-
Bugfix: Fixed an issue that caused
DROP DATABASEand some other cluster management commands to wait indefinitely for resources. -
Bugfix: Fixed a rare issue that caused autostats file leak.
-
Bugfix: Fixed a rare issue that blocked kill query operations.
-
Bugfix: Fixed CVE-2024-45772 and BDSA-2024-0720 security vulnerabilities.
-
Bugfix: Fixed an error in
BSON_pushdown.MATCH_ ANY() -
Bugfix: Fixed the result of
ORDER BY <sort_query on tables with a sort key column defined in the descending order.key> LIMIT -
Bugfix: Fixed an issue that caused uneven time distribution in the CDC extractor pool.
-
Bugfix: Fixed an issue that delayed restart of nodes with multiple reference databases.
-
Bugfix: Fixed an issue where some point-in-time-recovery (PITR) operations failed when started from a restored snapshot.
-
Enhancement: Upgraded Apache Lucene search engine library to 10.
0. 0. -
Bugfix: Fixed a bug that caused a query to fail in a specific situation when using
SEARCH OPTIONSwith vector index search. -
Bugfix: Fixed an edge case; common table expressions (CTEs) are now recognized in subselect to join rewrite.
-
Bugfix: Fixed a bug that led to a master aggregator crash when using dynamic resource pools.
-
Enhancement: Added support for Iceberg v2 merge-on-read ingest mode.
-
Bugfix: Fixed ingest streaming logic for large Iceberg v2 tables.
In this section
Last modified: October 24, 2025