Maintenance Release Changelog
On this page
2022-10-17 Version 7. 3. 27
-
Removed ability to use
utf8_.general_ mysql500_ ci collation This collation is not supported by SingleStore . -
Improved the
Subselect To Joinrewrite to recognize more cases with subselects in filter conditions for left join. -
Fixed an issue that may cause
insert into mv_to become invalid when the cluster is inqueries ONLY_.FULL_ GROUP_ BY sql_ mode -
Allow
REVOKEfromROLEpermissions for tables that have been dropped.
2022-07-05 Version 7. 3. 26
-
Fixed an issue where the incorrect backup size showed in
mv_for incremental backups.backup_ history -
Fixed a potential issue with transaction rolled back-mid query errors that may occur when a database name has a number suffix.
-
Fixed issues with the
information_andschema. mv_ activities information_tables reporting incorrect activities on database names ending with an integer.schema. mv_ activities_ extended -
Fixed a server crash caused by serializing big table or view definitions in snapshots.
-
Fixed an issue when running
DROP TABLEon a function instead ofDROP FUNCTION. -
Fixed a server crash caused by a rewrite trying to inline nested expressions.
-
Fixed an issue with out of memory errors being generated while compiling queries that use multiple
UNIONclauses. -
Adjusted the maximum memory allocation function to proactively run even when the
total_usage is well below theserver_ memory maximum_allocation.memory -
Fixed an issue with error generation for aggregator result tables used in a parallel read.
DROP RESULT TABLEnow returns the correct error.
2022-04-11 Version 7. 3. 25
-
Improved heuristic estimates for queries with complex join predicates.
-
Reduced the amount of stack space required to perform code generation for large in-lists.
-
Fixed an issue where table-valued functions crashed when a parameter was used more than once while compiling a query.
-
Improved the performance of sampling queries executed by the query optimizer.
2022-02-23 Version 7. 3. 24
-
Fixed an issue with query forwarding incorrectly triggering aggregator sync causing the aggregators to run out of disk space.
-
Fixed an issue with incorrect
nullCountandrowCountstatistics for larger tables with autostats enabled. -
Fixed an issue with
memsql_ceasing to produce monitoring results.exporter
2022-01-31 Version 7. 3. 23
-
Fixed a cluster database log corruption that could occur if the root user was dropped when the
sync_global variable was enabled.permissions -
Fixed the
CLEAR ORPHAN DATABASEScommand to ensure all databases are dropped when theleaf_global variable is set tofailover_ fanout load_and there are partition databases with more than replica partition.balanced -
Fixed a bug that incorrectly pushes a join before a window function when attempting to perform a distributed join in an aggregator.
2022-01-10 Version 7. 3. 22
-
Improved the predicate transitivity rewrite during query execution to cover more cases in an
EXISTS/NOT EXISTSclause. -
Reduce probability of failed connections to clusters due to WebSockets proxy issues.
-
Fixed the calculation for
total_for queries profiled from within stored procedures.runtime_ ms Prior to this release, total_was not calculated accurately.runtime_ ms
2021/12/13 Version 7. 3. 21
-
Fixed the default value for
max_so that it is now set appropriately when control groups are in use limiting CPU usage.async_ compilation_ concurrency -
Added control group awareness for
information_which now displays the correct number of CPUs a process has access to.schema. mv_ nodes -
Fixed an issue with a crash occurring when an incremental backup was performed on an empty database.
-
Fixed an issue with a crash occurring when DDL is run inside a stored procedure that is executed within a resource pool on a child aggregator.
-
Block the
DROP TEMPORARY TABLEcommand from running in a transaction that writes to the temporary table being dropped.The DROP TEMPORARY TABLEcommand result will display an error. -
Clarified error messaging when invalid data is inserted into a utf8 charset data type column.
2021/11/08 Version 7. 3. 20
-
Added support for
BACKUP DATABASEinto S3 buckets using thests_configuration option.regional_ endpoints -
Fixed issue with crash occurring when attempting to compile queries for
UPDATEstatements with multiple columns due to insufficient memory resources.The amount of memory necessary to compile these query shapes was reduced. -
Fixed sync timeout errors occurring when
REBALANCE PARTITIONSof large databases is being processed.The REBALANCE PARTITIONSoperation now waits for the replication of large snapshot files. -
Added
password_column toexpiration information_table.schema. USERS If the password_engine variable is not enabled, theexpiration_ seconds password_column will be NULL.expiration If the password_engine variable is enabled, theexpiration_ seconds password_column will display the number of seconds remaining for the password to expire.expiration -
Updated time zone data for some countries that recently changed their time zone rules.
-
Added Linux dependencies for SASL to SingleStore installation packages so they do not need to be installed separately.
2021/10/18 Version 7. 3. 19
-
Fixed an issue with possible connection crashes on disaster recovery clusters when DDL queries are forwarded to the master aggregator and a database has not been selected.
-
Fixed an issue with table-valued functions crashing when the parameters used contain full-text match functions and window functions.
-
Added support for running
PROFILEon queries that execute inside of transactions the include multiple statements. -
Fixed a crash caused by a check on the maximum number of partitions allowed on a leaf node.
An error message is displayed when this threshold is exceeded. -
Fixed an issue where the
memsql_would sometimes produce invalid JSON errors.exporter The memsql_is a satellite process that collects data about a running cluster.exporter
2021/09/27 Version 7. 3. 18
-
Added support for
SKIP CONSTRAINT ERRORSoptions for Avro and JSON pipelines. -
Increased the timeout used when connecting to AWS to determine credentials if none are specified in a
BACKUP/RESTOREcommand.Also added a new engine variable subprocess_which allows users to set that timeout.ec2_ metadata_ timeout_ ms -
Fixed auto histograms to determine when to build new histograms based on both master and child aggregators.
-
Masked blob store
CREDENTIALStext inBACKUP,RESTORE, andLINKcommands inSHOW PROCESSLIST,information_, and all error messages.schema. PROCESSLIST -
Added support for incremental backups to utilize
LINKsyntax to specifyCONFIGandCREDENTIALSclauses. -
Added support for optimizing cases of
INjoins in subselects in the project list. -
Replaced the symlink from
/opt/memsqlto/etc/systemdb/system/memsql.with copying theservice memsql.file to avoid issues with some filesystems not being mounted.service -
Removed the 20 second limit when checking for expired query plan at the
disk_intervals.plan_ expiration_ minutes
2021/09/07 Version 7. 3. 17
-
Fixed an issue that could cause pipelines to hang when encountering errors.
-
Added session variable named
subquery_that fine-tunes the behavior of the rewritemerge_ with_ outer_ joins SubQueryMerge.If the variable is set to ON: always merge the sub-select with outer join(s). If the variable is set to HEURISTIC: check to see if merging the sub-select with outer join(s) will cause negative performance for the overall query. If the variable is set to OFF: don’t merge sub-selects with outer join(s). If the variable is set to AUTO (this is the default): For SingleStore 7. 5 and previous versions, AUTO will behave like ON. For SingleStore versions after 7. 5, AUTO will behave like HEURISTIC. -
Added support for complex joins (joins with non-linear/nested join tree) involving correlated nested
SELECTqueries. -
Fixed an issue with query failures occurring if
leaf_hint is set.pushdown=1 The query will be run without the hint and a plan warning will be emitted. -
Fixed an aggregator crash that was caused when a malformed
INIT_command is sent by a client.DB
2021/08/23 Version 7. 3. 16
-
Added anonymous code blocks which are unnamed blocks of SingleStore Procedural SQL (MSQL) code that is executed immediately.
They allow you to create a code block without defining and calling a stored procedure. They are useful in situations such as testing and debugging. -
Fixed a crash that could occur when
ALTER TABLE COMPRESSION=SPARSEis run in the sameALTERstatement with an operation that doesn’t require data movement (ie., AUTOSTATS_.ENABLED = ON) -
Fixed the cardinality estimates for columns with an equality predicate.
-
Fixed a crash that can occur when a named window clause is used in multiple window functions in a query.
-
Added a new system variable called
master_which specifies how long an online failover will wait to drain open write transactions before issuing a kill to those transactions.promote_ kill_ timeout_ seconds It is limited to 120 seconds. After the write transactions are killed, an application-level retry is required. -
Fixed an issue that can cause defunct processes for pipelines or code generation in a rare race condition.
-
Updated
memsqlctl start-nodeto check the validity of NUMA configurations when nodes are restarted.If the system doesn’t have NUMA configurations, the nodes will be restarted. If any of the nodes have invalid NUMA configurations, the NUMA bindings will be recalculated for all the nodes on the host. -
Fixed an issue that could cause backups to GCS to fail with the error "The difference between the request time and the server's time is too large".
2021/08/02 Version 7. 3. 15
-
Added a new system variable called
parametrizer_which allows users to set the maximum number of scalar constants a single query can contain.query_ max_ params Any query with more than parametrizer_will be failed with an error.query_ max_ params The default value is 1048576.
2021/07/26 Version 7. 3. 14
-
Updated
memsqlctlto establish an SSL connection to the node if a CA certificate is set explicitly.SingleStore now falls back to an SSL connection via the host's default certificates if the target user requires SSL. -
Fixed an issue where the exporter process was not being cleaned up when
memsqldis shut down. -
Fixed an issue where modifying the case of a column via
ALTER TABLEcould cause a pipeline using that table to crash. -
Fixed an issue where DDL forwarding could crash when
DROP USERis run.
2021/07/12 Version 7. 3. 13
-
Properly set keep alive and timeouts on the persistent leaf-to-master aggregator connection that is used to communicate replication link status.
This fixes an issue with REBALANCE commands that failed with synchronization timeouts. -
Fixed a synchronization bottleneck, improving the ability of the pipeline scheduler to run many pipelines in parallel.
-
Improved the performance of pipeline and database DDL actions when a database has many pipelines running.
-
Fixed a blocking issue that could occur when several pipelines are being background scheduled simultaneously.
-
Fixed an issue where incorrect results could be returned when using
INSERT_to insert into a temporary table.ALL -
Fixed an issue that disabled a compilation optimization for selected queries.
Disabling this optimization made certain queries slower. -
Fixed an issue that could cause the internal statistics tracked by workload management to become incorrect after a "too many queued" query error has been hit.
-
Fixed an issue with CTE predicate pushdown where predicates were incorrectly split across
HAVINGandWHEREcommands.
2021/06/21 Version 7. 3. 12
-
Fixed a rare race condition that could cause sync replication to get stuck.
-
Added a new system variable
optimizer_.disable_ subselect_ to_ join Setting this to ONdisables the optimizer rewrite that converts subselect to joins automatically.Disabling this rewrite may cause queries to fail if they require the rewrite to run.
-
Fixed an issue where a crash could occur when
data_is set to a value other thanconversion_ compatibility_ level 6.and a computed column is set to an invalid value via an0 UPDATEstatement. -
Fixed an issue where a crash could occur when
leaf_is set tofailover_ fanout load_mode andbalanced REMOVE LEAFis run on larger clusters. -
Fixed an issue where a crash could occur when running
UPDATEon a query with a scalar subselect in aSETclause afterALTER TABLE. -
Fixed an issue where in some rare cases
PROFILEqueries could cause a crash. -
Fixed an issue where
ROWSTORE_could exceed 100% inPROGRESS mv_.backup_ status
2021/06/01 Version 7. 3. 11
-
Added a new system variable
auditlog_which controls the retention period (in days) of audit log files on disk.retention_ period The default is 0which means files remain on disk indefinitely. -
ADMIN_audit log level now audits DDL statements only.ONLY Previously it would audit other non-DDL statements, which could cause bloat in the audit logs in ADMIN_mode.ONLY -
Fixed an issue where a crash could occur during concurrent columnstore
DELETEs while escalating from row level locking to table level locking. -
Fixed an issue in universal storage unique keys where hash collisions with null values could produce incorrect results.
-
Fixed an issue where incorrect results could be returned when using
UNION ALLandSELECT ... . INTO S3
2021-05-24 Version 7. 3. 10
-
Optimized partition placements when rebalancing partitions in
load_mode.balanced -
Fixed a permissions error where the stated required permission was incorrect.
-
Fixed reader quota errors that could be encountered by
DELETEqueries with limits that run distributed joins on derived tables. -
Fixed an issue where
CREATE GLOBAL TEMPORARY TABLE LIKE .would create a normal user table instead of a global temporary table.. . -
Fixed an issue with
DATETIMEequality testing when updating columnstore tables.
2021-05-03 Version 7. 3. 9
-
Added support for temporary stored procedures.
For more information, see CREATE TEMPORARY PROCEDURE. -
Added support for bloom filters on right joins using columnstore indexes and segment elimination.
Previously, bloom filters were only supported on inner joins.
2021-04-19 Version 7. 3. 8
-
Added a new engine variable,
backup_, which controls the number of concurrent threads used to run backups on leaves.max_ threads By default, each backup uses one thread per partition. For more information, see Non-Sync Variables List. -
Fixed an issue where queries filtering on the
transaction_column ofstate information_orschema. PROCESSLIST information_could return the wrong results.schema. MV_ PROCESSLIST -
Fixed a wrong results issue that could occur during online upgrade to version 7.
3. -
Fixed a crash that could occur when using a table reference like `table_
name. *` inside TO_ JSON -
Fixed a bug on the websocket proxy where a connection could hang on the client after being killed on the server.
2021-04-01 Version 7. 3. 7
-
Fixed a crash that could occur when a query included user defined variables.
2021-03-15 Version 7. 3. 6
-
Running DDL inside of stored procedures from child aggregators is now properly supported.
-
Fixed a crash that previously occurred in cases where
SHOW CLUSTER STATUSwas run while a leaf node was unresponsive. -
Fixed an issue that caused incorrect tracing to the error log when
SHOW WORKLOAD MANAGEMENT STATUSwas executed. -
Fixed an issue with the system variable
redundancy_being incorrectly set on leaf nodes, which previously caused errors whenlevel CHECK BLOB CHECKSUM WITH REPAIRwas run. -
Monitoring clusters are now supported via SSL.
-
Fixed an issue that previously caused an incorrect error when running
LOAD DATAfrom inside a stored procedure.
2021-03-08 Version 7. 3. 5
-
REBALANCE ALL DATABASESand REBALANCE PARTITIONS FULLnow fully rebalance redundancy 1 clusters. -
Added support for connecting to Avro Confluent Schema Registry, by specifying SSL configuration settings in
CREATE PIPELINE. -
Fixed an issue with automatic histograms on clusters that were upgraded with the variable
cardinality_set toestimation_ level 6..0
2021-03-01 Version 7. 3. 4
-
Fixed an issue that occurred when running
ALTERorTRUNCATEagainst a table that includedON DUPLICATE KEY UPDATEin itsCREATE PIPELINEstatement. -
Fixed an issue that caused read actions on columnstore JSON objects to result in an error (
Error reading from parquet: Column not found in schema) in cases where trailing whitespaces were present in the JSON key names stored for a given table. -
Improved the optimizer’s cost estimates for hash joins when one of the tables in a given join has an index matching the join condition.
-
When inserting into a columnstore table, columns not needed to deal with a duplicate key are no longer decompressed.
-
Fixed a crash that occurred when an aggregate function was used in an unsupported context inside a stored procedure.
-
Added a new engine variable
optimizer_, which sets a threshold for the number of empty tables that must be present in a query before the optimizer falls back to being rule based, instead of cost based.empty_ tables_ limit For more information, see Sync Variables Lists. -
When running
memsql_, the password for the monitoring user is no longer exposed in theexporter psoutput. -
Allowed
memsqlctlto establish a secure connection when a node is configured for SSL using either the engine variablessl_, or the host system’s trusted certificates for verification.ca -
Increased
TasksMaxto 128000 formemsql.in order to prevent errors and/or unexpected node behavior.service Previously, this setting was often exceeded, causing systemdto limit the ability ofmemsqldto fork processes. -
Fixed an issue that caused
auto-rebalanceoperations occuring whenleaf_is set tofailover_ fanout load_not to fully rebalance the cluster.balanced -
Updated the Websocket Proxy to respect the engine variables,
ssl_andcipher tls_, in configuringversion TLSfor external communication viahttps.
2021-01-19 Version 7. 3. 3
-
Fixed a timeout error that occurred when running
REBALANCE PARTITIONSon databases with large columnstore tables. -
Improved the speed of server shutdown and of recovery for databases with large numbers of tables.
This improvement is evident at 1,000 tables or more, and increases significantly after 10,000 tables. -
Fixed an issue that caused
RESTOREcommands to fail in cases where a database contained a large number of reference tables. -
Fixed an issue that caused
DROP TEMPORARY TABLE IF NOT EXISTSto incorrectly return an error in cases where the table didn’t exist. -
Fixed a crash caused by a check on the maximum number of partitions allowed on a leaf node.
Now, an error message is surfaced when this is exceeded. -
Fixed issue that caused an error (
Transaction rolled back mid-query) to occur when running cross-database queries in multi-statement transactions. -
Reduced blocks on
UPDATEandDELETEcommands viabackground merger. -
Added a new variable,
default_, which sets a threshold for the number of rows that are locked when updating rows in a columnstore table before a table lock is acquired.columnstore_ table_ lock_ threshold For more information, see Sync Variables Lists.
2020-12-15 Version 7. 3
-
Initial GA release of SingleStore 7.
3. 2
Last modified: August 4, 2025