Release Notes for MariaDB Enterprise ColumnStore 22.08.8
This page is part of MariaDB's Documentation.
The parent of this page is: Release Notes for MariaDB Enterprise ColumnStore 22.08
Topics on this page:
Overview
MariaDB Enterprise ColumnStore 22.08.8 is a maintenance release of MariaDB Enterprise ColumnStore. MariaDB Enterprise ColumnStore is a columnar storage engine included with MariaDB Enterprise Server.
MariaDB Enterprise ColumnStore 22.08.8 was released on 2023-02-10. This release is of General Availability (GA) maturity.
MariaDB Enterprise ColumnStore 22.08 replaces MariaDB Enterprise ColumnStore 6 in MariaDB Enterprise Server 10.6.
This release of MariaDB Enterprise ColumnStore is included with MariaDB Enterprise Server 10.6.11-6.
Users of earlier MariaDB Enterprise ColumnStore 22.08 releases are encouraged to upgrade.
Notable Changes
The
JSON_ARRAYAGG
function is supported for ColumnStore tables as a distributed aggregate function and can be used to aggregate a column's values into a JSON array. (MCOL-5224, MCOL-5227)In previous releases, the following error can be raised when the
JSON_ARRAYAGG
function is called in a query on a ColumnStore table and the ColumnStore select handler is enabled:ERROR 1178 (42000): The storage engine for the table doesn't support Non supported aggregate type on the select clause
Starting with this release, the
JSON_ARRAYAGG
function can be called in a query on a ColumnStore table when the ColumnStore select handler is enabled. The function accepts a column or expression as an argument. The expression is evaluated for every column in the result set, and all of the values are aggregated into a single JSON array:
CREATE TABLE t (a INT, b INT) ENGINE=ColumnStore;
INSERT INTO t VALUES (1,3), (1,5), (8,2), (5,7), (5,6), (10,1), (6,4), (3,9), (3,9), (7,2), (7,5), (2,6), (9,10), (9,5), (4,8);
SELECT a, JSON_ARRAYAGG(b) FROM t GROUP BY a;
+------+------------------+ | a | JSON_ARRAYAGG(b) | +------+------------------+ | 1 | [3,5] | | 2 | [6] | | 3 | [9,9] | | 4 | [8] | | 5 | [7,6] | | 6 | [4] | | 7 | [2,5] | | 8 | [2] | | 9 | [10,5] | | 10 | [1] | +------+------------------+
In many cases, when a query uses the
GROUP_CONCAT
function, the query can be converted to use theJSON_ARRAYAGG
function instead. The primary benefit is that theJSON_ARRAYAGG
function returns a JSON array, and there are many functions and external tools available for reading and manipulating JSON.
Collection of histogram statistics is supported on ColumnStore tables and can be used for cost-based optimization of joins. (MCOL-5191)
In previous releases, queries containing complex joins on ColumnStore tables can fail with the following error:
ERROR 1815 (HY000) at line 6: Internal error: IDB-1003: Circular joins are not supported.
Starting with this release, when histogram statistics are available for a ColumnStore table, the storage engine can use the histogram statistics to determine the uniqueness of a column and process the join graph more efficiently. To collect histogram statistics on a ColumnStore table, use the
ANALYZE TABLE
statement:ANALYZE TABLE t1;
Issues Fixed
Can result in data loss
When ColumnStore is configured to use S3-compatible storage, if the
endpoint
andregion
parameters in/etc/columnstore/storagemanager.cnf
do not refer to the same region wherebucket
is located, ColumnStore fails to send data to cloud storage, but does not detect the failure. (MCOL-5177)In previous releases, the endpoint would send ColumnStore an HTTP
301
status code to indicate a failure, but ColumnStore would incorrectly treat it as a success.Starting with this release, ColumnStore correctly identifies the failure and raises an error message:
S3Storage::putObject(): Bucket location not match provided endpoint:, bucket = BUCKET, endpoint = ENDPOINT.
Can result in a hang or crash
When processing a hash join, ExeMgr can crash with a
SIGABRT
. (MCOL-5265)
Can result in unexpected behavior
When a
SELECT
statement callsSUM(COLUMN=VALUE)
, the statement fails with an unclear error message. (MCOL-603)In previous releases, the following error is raised:
ERROR 1815 (HY000): Internal error: std::bad_typeid
Starting with this release, the following error is raised:
ERROR 1178 (42000): The storage engine for the table doesn't support MCS-2027: Non supported item in aggregate function SUM(COLUMN=VALUE).
When the
ANALYZE
statement is executed with a SQL statement as an argument, ColumnStore can return an error. (MCOL-1170)In previous releases, the following error is sometimes raised:
ERROR 1815 (HY000): Internal error: Unknown error
Starting with this release, an error should not be raised, and the execution plan should be printed:
ANALYZE SELECT * FROM t1 WHERE c1 = 1;
+------+---------------+-------+------+---------------+------+---------+------+------+--------+----------+------------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | r_rows | filtered | r_filtered | Extra | +------+---------------+-------+------+---------------+------+---------+------+------+--------+----------+------------+-------+ | 1 | PUSHED SELECT | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | +------+---------------+-------+------+---------------+------+---------+------+------+--------+----------+------------+-------+
When a column is added to a table on a primary node with multi-node ColumnStore, ColumnStore tries to add the new column to the table twice on the replica nodes, which causes a replication failure. (MCOL-5000)
In previous releases, when replication failed, messages like the following appear in the MariaDB error log:
[ERROR] Slave SQL: Error 'Got error 1815 "Unknown error 1815" from storage engine ColumnStore' on query. Default database: 'db1'. Query: 'ALTER TABLE t1 ADD COLUMN (col2 varchar(100))', Gtid GTID_POS, Internal MariaDB error code: 1030 [Warning] Slave: Got error 1815 "Unknown error 1815" from storage engine ColumnStore Error_code: 1030 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'LOG_FILE' position LOG_POS; GTID position 'GTID_POS'
Starting with this release, ColumnStore only adds the new column to the table once on the replica nodes, so the replication failure does not occur.
When
querytstats
is enabled, if a query contains aLEFT JOIN
and theON
clause contains theLOWER()
function, an error is written to the ColumnStore log. (MCOL-5223)In previous releases, the following error is written to the ColumnStore log:
1e3afaf1eaef Calpont[135]: 37.906020 |0|0|0| E 00 CAL0000: /home/buildbot/buildbot/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/mariadb-10.6.8/storage/columnstore/columnstore/dbcon/joblist/tuplehashjoin.cpp@1095: assertion 'idlsz > 1' failed
Starting with this release, the query can be executed without raising an error.
When the
TRUNCATE()
function is called with aCHAR
orVARCHAR
column that contains numeric characters, an incorrect value is returned. (MCOL-5248)When multi-node ColumnStore is configured to use shared local storage, replica nodes can overwrite their local copies of the extent map files multiple times during shutdown. (MCOL-5302)
When
columnstore_use_import_for_batchinsert=ON
is set on multi-node ColumnStore,INSERT INTO .. SELECT
statements in a transaction report that rows were inserted, even though no rows are inserted. (MCOL-5367)When ExeMgr finishes serving a request from MariaDB Server, ExeMgr's TCP connection can remain open, and its thread can continue running, which can cause ColumnStore to use more resources than required. (MCOL-5384)
Platforms
In alignment to the enterprise lifecycle, MariaDB Enterprise ColumnStore 22.08.8 is provided for:
CentOS 7 (x86_
64) Debian 11 (x86_
64, ARM64) Red Hat Enterprise Linux 7 (x86_
64) Red Hat Enterprise Linux 8 (x86_
64, ARM64) Red Hat Enterprise Linux 9 (x86_
64, ARM64) Rocky Linux 8 (x86_
64, ARM64) Rocky Linux 9 (x86_
64, ARM64) Ubuntu 20.04 (x86_
64, ARM64) Ubuntu 22.04 (x86_
64, ARM64)