RPM (installation by YUM from local RPMs) [FAILED] for Gamma, [PASSED with notes] for Beta
Clean simultaneous installation of server, client and ColumnStore
Packages from build-33618/kvm-rpm-centos74-amd64, CentOS 7.8.2003
$ sudo yum install MariaDB-server-10.5.4-1.el7.centos.x86_64.rpm MariaDB-client-10.5.4-1.el7.centos.x86_64.rpm MariaDB-common-10.5.4-1.el7.centos.x86_64.rpm MariaDB-shared-10.5.4-1.el7.centos.x86_64.rpm MariaDB-compat-10.5.4-1.el7.centos.x86_64.rpm galera-4-26.4.4-1.rhel7.el7.centos.x86_64.rpm MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64.rpm
|
The transaction check works.
=======================================================================================
|
Package Arch Version Repository Size
|
=======================================================================================
|
Installing:
|
MariaDB-client x86_64 10.5.4-1.el7.centos /MariaDB-client-10.5.4-1.el7.centos.x86_64
|
65 M
|
MariaDB-columnstore-engine x86_64 10.5.4-1.el7.centos /MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64
|
29 M
|
MariaDB-common x86_64 10.5.4-1.el7.centos /MariaDB-common-10.5.4-1.el7.centos.x86_64
|
303 k
|
MariaDB-compat x86_64 10.5.4-1.el7.centos /MariaDB-compat-10.5.4-1.el7.centos.x86_64
|
11 M
|
replacing mariadb-libs.x86_64 1:5.5.65-1.el7
|
MariaDB-server x86_64 10.5.4-1.el7.centos /MariaDB-server-10.5.4-1.el7.centos.x86_64
|
129 M
|
MariaDB-shared x86_64 10.5.4-1.el7.centos /MariaDB-shared-10.5.4-1.el7.centos.x86_64
|
343 k
|
galera-4 x86_64 26.4.4-1.rhel7.el7.centos /galera-4-26.4.4-1.rhel7.el7.centos.x86_64
|
40 M
|
Installing for dependencies:
|
boost-atomic x86_64 1.53.0-28.el7 base 35 k
|
boost-chrono x86_64 1.53.0-28.el7 base 44 k
|
boost-filesystem x86_64 1.53.0-28.el7 base 68 k
|
boost-program-options x86_64 1.53.0-28.el7 base 156 k
|
boost-regex x86_64 1.53.0-28.el7 base 296 k
|
expect x86_64 5.45-14.el7_1 base 262 k
|
tcl x86_64 1:8.5.13-8.el7 base 1.9 M
|
|
Transaction Summary
|
=======================================================================================
|
Install 7 Packages (+7 Dependent packages)
|
|
Total size: 278 M
|
Total download size: 2.7 M
|
During installation process:
checking for engine columnstore...
|
Columnstore YES ColumnStore storage engine YES NO NO
|
columnstore exist
|
Otherwise ends uneventfully.
[elenst@localhost rpms]$ sudo systemctl start mariadb
|
[elenst@localhost rpms]$ sudo mysql -e "show engines"
|
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
|
| Engine | Support | Comment | Transactions | XA | Savepoints |
|
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
|
| Columnstore | YES | ColumnStore storage engine | YES | NO | NO |
|
...
|
[elenst@localhost rpms]$ sudo mysql -e "create database if not exists test; use test; create table t1 (a int) engine=Columnstore; insert into t1 select seq from seq_1_to_10000; select count(*) from t1"
|
+----------+
|
| count(*) |
|
+----------+
|
| 10000 |
|
+----------+
|
[elenst@localhost rpms]$ sudo mysql -e "select * from information_schema.plugins where plugin_name = 'columnstore'\G"
|
*************************** 1. row ***************************
|
PLUGIN_NAME: Columnstore
|
PLUGIN_VERSION: 1.5
|
PLUGIN_STATUS: ACTIVE
|
PLUGIN_TYPE: STORAGE ENGINE
|
PLUGIN_TYPE_VERSION: 100504.0
|
PLUGIN_LIBRARY: ha_columnstore.so
|
PLUGIN_LIBRARY_VERSION: 1.14
|
PLUGIN_AUTHOR: MariaDB Corporation
|
PLUGIN_DESCRIPTION: ColumnStore storage engine
|
PLUGIN_LICENSE: GPL
|
LOAD_OPTION: ON
|
PLUGIN_MATURITY: Gamma
|
PLUGIN_AUTH_VERSION: 1.5.2
|
It's still Gamma, probably should be reconsidered.
[elenst@localhost rpms]$ sudo systemctl | grep -iE 'maria|columnstore|mcs'
|
mariadb-columnstore.service loaded active exited mariadb-columnstore
|
mariadb.service loaded active running MariaDB 10.5.4 database server
|
mcs-controllernode.service loaded active running mcs-controllernode
|
mcs-ddlproc.service loaded active running mcs-ddlproc
|
mcs-dmlproc.service loaded active running mcs-dmlproc
|
mcs-exemgr.service loaded active running mcs-exemgr
|
mcs-primproc.service loaded active running mcs-primproc
|
● mcs-storagemanager.service loaded failed failed storagemanager
|
mcs-workernode.service loaded active running mcs-workernode
|
mcs-writeengineserver.service loaded active running WriteEngineServer
|
storagemanager has alerady been discussed, otherwise it looks normal.
[elenst@localhost rpms]$ sudo systemctl restart mariadb
|
|
[elenst@localhost rpms]$ sudo mysql test -e "select * from t1 limit 1; create table t2 (a int) engine=Columnstore; insert into t2 values (1),(2); select * from t2"
|
+------+
|
| a |
|
+------+
|
| 1 |
|
+------+
|
+------+
|
| a |
|
+------+
|
| 1 |
|
| 2 |
|
+------+
|
Still works afer MariaDB server (service) restart.
[elenst@localhost rpms]$ sudo systemctl restart mariadb-columnstore
|
[elenst@localhost rpms]$
|
[elenst@localhost rpms]$ sudo mysql test -e "drop table t1; select count(*) from t2; create table t3 (c varchar(8)) engine=Columnstore; insert into t3 values ('foo'),('bar'); update t3 set c = 'baz'; select * from t3"
|
+----------+
|
| count(*) |
|
+----------+
|
| 2 |
|
+----------+
|
+------+
|
| c |
|
+------+
|
| baz |
|
| baz |
|
+------+
|
[elenst@localhost rpms]$ sudo mysql test -e "show tables"
|
+----------------+
|
| Tables_in_test |
|
+----------------+
|
| t2 |
|
| t3 |
|
+----------------+
|
Works after mariadb-columnstore service restart, too.
And even after reboot:
[elenst@localhost rpms]$ sudo systemctl enable mariadb
|
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
|
[elenst@localhost rpms]$ sudo reboot now
|
[elenst@localhost ~]$ sudo mysql test -e "select count(*) from t3; create or replace table t4 (a int, c varchar(8)) engine=Columnstore; insert into t4 select seq, concat('seq',seq) from seq_1_to_1000; select count(distinct a) from t4"
|
+----------+
|
| count(*) |
|
+----------+
|
| 2 |
|
+----------+
|
ERROR 1178 (42000) at line 1: The storage engine for the table doesn't support The syntax or the data type(s) is not supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
|
That's a badly formed error message. I get the idea, though.
[elenst@localhost ~]$ sudo mysql test -e "select count(*) from t3; drop table if exists t4; create table t4 (a int, c varchar(8)) engine=Columnstore; insert into t4 select seq, concat('seq',seq) from seq_1_to_1000; select count(distinct a) from t4"
|
+----------+
|
| count(*) |
|
+----------+
|
| 2 |
|
+----------+
|
+-------------------+
|
| count(distinct a) |
|
+-------------------+
|
| 1000 |
|
+-------------------+
|
Still works.
Uninstallation
[elenst@localhost ~]$ sudo mysql test -e "drop table t3; drop table t4"
|
[elenst@localhost ~]$ sudo mysql test -e "show tables"
|
|
[elenst@localhost ~]$ sudo yum remove MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64
|
Loaded plugins: fastestmirror, langpacks
|
Resolving Dependencies
|
--> Running transaction check
|
---> Package MariaDB-columnstore-engine.x86_64 0:10.5.4-1.el7.centos will be erased
|
--> Finished Dependency Resolution
|
base/7/x86_64 | 3.6 kB 00:00:00
|
extras/7/x86_64 | 2.9 kB 00:00:00
|
updates/7/x86_64 | 2.9 kB 00:00:00
|
|
Dependencies Resolved
|
|
=======================================================================================
|
Package Arch Version Repository Size
|
=======================================================================================
|
Removing:
|
MariaDB-columnstore-engine
|
x86_64 10.5.4-1.el7.centos
|
@/MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64 29 M
|
|
Transaction Summary
|
=======================================================================================
|
Remove 1 Package
|
|
Installed size: 29 M
|
Is this ok [y/N]: y
|
Downloading packages:
|
Running transaction check
|
Running transaction test
|
Transaction test succeeded
|
Running transaction
|
|
Mariab Columnstore uninstall completed
|
Erasing : MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64 1/1
|
Verifying : MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64 1/1
|
|
Removed:
|
MariaDB-columnstore-engine.x86_64 0:10.5.4-1.el7.centos
|
|
Complete!
|
[elenst@localhost ~]$ sudo mysql -e "show engines"
|
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
|
| Engine | Support | Comment | Transactions | XA | Savepoints |
|
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
|
| Columnstore | YES | ColumnStore storage engine | YES | NO | NO |
|
Server didn't get restarted; however, uninstallation of RocksDB (as a baseline) doesn't restart it either, so I can't claim it's a Columnstore-specific problem.
[elenst@localhost rpms]$ sudo systemctl restart mariadb
|
[elenst@localhost rpms]$ sudo mysql -e "show engines"
|
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
|
| Engine | Support | Comment | Transactions | XA | Savepoints |
|
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
|
| CSV | YES | Stores tables as CSV files | NO | NO | NO |
|
| MRG_MyISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
|
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
|
| Aria | YES | Crash-safe tables with MyISAM heritage. Used for internal temporary tables and privilege tables | NO | NO | NO |
|
| MyISAM | YES | Non-transactional engine with good performance and small data footprint | NO | NO | NO |
|
| SEQUENCE | YES | Generated tables filled with sequential values | YES | NO | YES |
|
| InnoDB | DEFAULT | Supports transactions, row-level locking, foreign keys and encryption for tables | YES | YES | YES |
|
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
|
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
|
Now it's gone.
[elenst@localhost ~]$ sudo find / -name *columnstore*
|
/etc/my.cnf.d/columnstore.cnf.rpmsave
|
/etc/columnstore
|
/etc/columnstore/Columnstore.xml.columnstoreSave
|
/var/lib/mysql/columnstore_info
|
/var/lib/columnstore
|
|
[elenst@localhost ~]$ sudo find / -name *Columnstore*
|
/etc/columnstore/Columnstore.xml-20200617
|
/etc/columnstore/Columnstore.xml.columnstoreSave
|
/etc/columnstore/Columnstore.xml.rpmsave
|
[elenst@localhost ~]$ sudo find / -name *mcs*
|
There are remains of Columnstore left, but again, since it's not a purge and I couldn't find anything specific in YUM documentation of what should be preserved and what should be removed, it might be okay.
Installation of ColumnStore on top of pre-installed server
[elenst@localhost rpms]$ rpm -qa | grep -i maria
|
MariaDB-compat-10.5.4-1.el7.centos.x86_64
|
MariaDB-common-10.5.4-1.el7.centos.x86_64
|
MariaDB-server-10.5.4-1.el7.centos.x86_64
|
MariaDB-client-10.5.4-1.el7.centos.x86_64
|
|
[elenst@localhost rpms]$ sudo systemctl status mariadb
|
● mariadb.service - MariaDB 10.5.4 database server
|
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
|
Drop-In: /etc/systemd/system/mariadb.service.d
|
└─migrated-from-my.cnf-settings.conf
|
Active: active (running) since Thu 2020-06-18 10:06:57 EDT; 29s ago
|
...
|
[elenst@localhost rpms]$ sudo yum install MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64.rpm MariaDB-shared-10.5.4-1.el7.centos.x86_64.rpm
|
...
|
Installing:
|
MariaDB-columnstore-engine x86_64 10.5.4-1.el7.centos /MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64
|
29 M
|
MariaDB-shared x86_64 10.5.4-1.el7.centos /MariaDB-shared-10.5.4-1.el7.centos.x86_64
|
343 k
|
Installing for dependencies:
|
boost-atomic x86_64 1.53.0-28.el7 base 35 k
|
boost-chrono x86_64 1.53.0-28.el7 base 44 k
|
boost-filesystem x86_64 1.53.0-28.el7 base 68 k
|
boost-regex x86_64 1.53.0-28.el7 base 296 k
|
expect x86_64 5.45-14.el7_1 base 262 k
|
tcl x86_64 1:8.5.13-8.el7 base 1.9 M
|
|
Transaction Summary
|
=======================================================================================
|
Install 2 Packages (+6 Dependent packages)
|
|
Total size: 32 M
|
Total download size: 2.6 M
|
Installed size: 36 M
|
Installing : MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64 8/8
|
checking for engine columnstore...
|
Columnstore YES ColumnStore storage engine YES NO NO
|
columnstore exist
|
Takes a disturbing pause upon Installing : MariaDB-columnstore-engine..., but ends all right, no errors.
[elenst@localhost rpms]$ sudo mysql -e "show engines"
|
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
|
| Engine | Support | Comment | Transactions | XA | Savepoints |
|
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
|
| Columnstore | YES | ColumnStore storage engine | YES | NO | NO |
|
Columnstore is there right away.
[elenst@localhost rpms]$ sudo mysql -e "create database if not exists test; use test; create table t1 (a int) engine=Columnstore; insert into t1 values (1),(2); show create table t1; select * from t1"
|
+-------+--------------------------------------------------------------------------------------------+
|
| Table | Create Table |
|
+-------+--------------------------------------------------------------------------------------------+
|
| t1 | CREATE TABLE `t1` (
|
`a` int(11) DEFAULT NULL
|
) ENGINE=Columnstore DEFAULT CHARSET=latin1 |
|
+-------+--------------------------------------------------------------------------------------------+
|
+------+
|
| a |
|
+------+
|
| 1 |
|
| 2 |
|
+------+
|
It works, too.
[elenst@localhost rpms]$ sudo systemctl restart mariadb
|
[elenst@localhost rpms]$ sudo mysql test -e "update t1 set a = a+10; select * from t1"
|
+------+
|
| a |
|
+------+
|
| 11 |
|
| 12 |
|
+------+
|
[elenst@localhost rpms]$ sudo systemctl restart mariadb-columnstore
|
[elenst@localhost rpms]$ sudo mysql test -e "update t1 set a = a+10; alter table t1 add b int; select * from t1"
|
+------+------+
|
| a | b |
|
+------+------+
|
| 21 | NULL |
|
| 22 | NULL |
|
+------+------+
|
Still works after restarting server and columnstore services (separately), although first query after Columnstore restart still takes really really long.
[elenst@localhost ~]$ sudo systemctl enable mariadb
|
[elenst@localhost ~]$ sudo reboot now
|
[elenst@localhost ~]$ sudo mysql test -e "update t1 set a = a+10; create table t2 engine=Columnstore as select * from t1; select * from t2"
|
+------+------+
|
| a | b |
|
+------+------+
|
| 31 | NULL |
|
| 32 | NULL |
|
+------+------+
|
Still works.
Looks all right. I don't expect any differences in uninstallation comparing to the simultaneous installation, so I'll skip it.
Installation of ColumnStore after server upgrade
We already know that it doesn't work for debs, but RPMs are different, I want at least to see how it looks here.
[elenst@localhost ~]$ rpm -qa | grep -iE 'maria|mysql'
|
MariaDB-compat-10.3.23-1.el7.centos.x86_64
|
MariaDB-server-10.3.23-1.el7.centos.x86_64
|
MariaDB-client-10.3.23-1.el7.centos.x86_64
|
MariaDB-common-10.3.23-1.el7.centos.x86_64
|
We don't actually support major upgrade as such, so it's removal of the old server and installation of the new one.
[elenst@localhost rpms]$ sudo yum remove MariaDB-server
|
[elenst@localhost rpms]$ sudo yum install galera-4-26.4.4-1.rhel7.el7.centos.x86_64.rpm MariaDB-server-10.5.4-1.el7.centos.x86_64.rpm MariaDB-client-10.5.4-1.el7.centos.x86_64.rpm
|
[elenst@localhost rpms]$ sudo rpm -qa | grep -iE 'mysql|maria'
|
MariaDB-compat-10.3.23-1.el7.centos.x86_64
|
MariaDB-server-10.5.4-1.el7.centos.x86_64
|
MariaDB-client-10.5.4-1.el7.centos.x86_64
|
MariaDB-common-10.3.23-1.el7.centos.x86_64
|
[elenst@localhost rpms]$ sudo systemctl start mariadb
|
[elenst@localhost rpms]$ sudo mysql_upgrade -uroot
|
Phase 1/7: Checking and upgrading mysql database
|
Processing databases
|
mysql
|
mysql.column_stats OK
|
mysql.columns_priv OK
|
mysql.db OK
|
mysql.event OK
|
mysql.func OK
|
mysql.gtid_slave_pos OK
|
mysql.help_category OK
|
mysql.help_keyword OK
|
mysql.help_relation OK
|
mysql.help_topic OK
|
mysql.host OK
|
mysql.index_stats OK
|
mysql.innodb_index_stats OK
|
mysql.innodb_table_stats OK
|
mysql.plugin OK
|
mysql.proc OK
|
mysql.procs_priv OK
|
mysql.proxies_priv OK
|
mysql.roles_mapping OK
|
mysql.servers OK
|
mysql.table_stats OK
|
mysql.tables_priv OK
|
mysql.time_zone OK
|
mysql.time_zone_leap_second OK
|
mysql.time_zone_name OK
|
mysql.time_zone_transition OK
|
mysql.time_zone_transition_type OK
|
mysql.transaction_registry OK
|
mysql.user OK
|
Phase 2/7: Installing used storage engines... Skipped
|
Phase 3/7: Fixing views
|
Phase 4/7: Running 'mysql_fix_privilege_tables'
|
Phase 5/7: Fixing table and database names
|
Phase 6/7: Checking and upgrading tables
|
Processing databases
|
information_schema
|
performance_schema
|
test
|
Phase 7/7: Running 'FLUSH PRIVILEGES'
|
OK
|
[elenst@localhost rpms]$ sudo yum install MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64.rpm
|
|
Installing:
|
MariaDB-columnstore-engine x86_64 10.5.4-1.el7.centos /MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64
|
29 M
|
Installing for dependencies:
|
MariaDB-shared x86_64 10.3.23-1.el7.centos mariadb 113 k
|
boost-atomic x86_64 1.53.0-28.el7 base 35 k
|
boost-chrono x86_64 1.53.0-28.el7 base 44 k
|
boost-filesystem x86_64 1.53.0-28.el7 base 68 k
|
boost-regex x86_64 1.53.0-28.el7 base 296 k
|
expect x86_64 5.45-14.el7_1 base 262 k
|
tcl x86_64 1:8.5.13-8.el7 base 1.9 M
|
|
Transaction Summary
|
=======================================================================================
|
Install 1 Package (+7 Dependent packages)
|
|
Total size: 32 M
|
Total download size: 2.7 M
|
Installed size: 36 M
|
Installing : MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64 8/8
|
checking for engine columnstore...
|
Columnstore YES ColumnStore storage engine YES NO NO
|
columnstore exist
|
[elenst@localhost rpms]$ mysql -e "show engines"
|
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
|
| Engine | Support | Comment | Transactions | XA | Savepoints |
|
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
|
| Columnstore | YES | ColumnStore storage engine | YES | NO | NO |
|
[elenst@localhost rpms]$ mysql -e "create database if not exists test; use test; create table t1 (a int) engine=Columnstore; insert into t1 select seq from seq_1_to_100; select max(a) from t1; show create table t1"
|
ERROR 1815 (HY000) at line 1: Internal error: CAL0009: Error while calling getSysCatDBRoot
|
Problem.
[elenst@localhost rpms]$ sudo systemctl | grep -iE 'column|maria|mcs'
|
mariadb-columnstore.service loaded active exited mariadb-columnstore
|
mariadb.service loaded active running MariaDB 10.5.4 database server
|
mcs-controllernode.service loaded active running mcs-controllernode
|
mcs-ddlproc.service loaded active running mcs-ddlproc
|
mcs-dmlproc.service loaded active running mcs-dmlproc
|
mcs-exemgr.service loaded active running mcs-exemgr
|
mcs-primproc.service loaded active running mcs-primproc
|
● mcs-storagemanager.service loaded failed failed storagemanager
|
mcs-workernode.service loaded active running mcs-workernode
|
mcs-writeengineserver.service loaded active running WriteEngineServer
|
[elenst@localhost rpms]$ sudo systemctl restart mariadb mariadb-columnstore
|
[elenst@localhost rpms]$ mysql -e "create database if not exists test; use test; create table t1 (a int) engine=Columnstore; insert into t1 select seq from seq_1_to_100; select max(a) from t1; show create table t1"
|
ERROR 1815 (HY000) at line 1: Internal error: CAL0009: Error while calling getSysCatDBRoot
|
So, it installs here upon an upgraded server, just doesn't work.
It seems different from the Debian problem, but let's see if the workaround meant for Debian magically works here, too.
[elenst@localhost rpms]$ sudo mysql -e "create user mysql@localhost identified via 'unix_socket'; grant all on *.* to mysql@localhost"
|
|
[elenst@localhost rpms]$ sudo -u mysql mysql -e "select current_user(); show grants"
|
+-----------------+
|
| current_user() |
|
+-----------------+
|
| mysql@localhost |
|
+-----------------+
|
+-------------------------------------------------------------------------------+
|
| Grants for mysql@localhost |
|
+-------------------------------------------------------------------------------+
|
| GRANT ALL PRIVILEGES ON *.* TO `mysql`@`localhost` IDENTIFIED VIA unix_socket |
|
+-------------------------------------------------------------------------------+
|
[elenst@localhost rpms]$ sudo systemctl stop mariadb mariadb-columnstore
|
[elenst@localhost rpms]$ sudo systemctl start mariadb-columnstore mariadb
|
[elenst@localhost rpms]$ mysql -e "create database if not exists test; use test; create table t1 (a int) engine=Columnstore; insert into t1 select seq from seq_1_to_100; select max(a) from t1; show create table t1"
|
ERROR 1815 (HY000) at line 1: Internal error: CAL0009: Error while calling getSysCatDBRoot
|
/var/log/mariadb/columnstore/debug.log
|
[elenst@localhost rpms]$ sudo tail -11 /var/log/mariadb/columnstore/debug.log
|
Jun 18 10:46:09 localhost ddlpackageproc[5209]: 09.186742 |0|0|0| E 23 CAL0009: Error while calling getSysCatDBRoot
|
Jun 18 10:50:54 localhost controllernode[5408]: 54.311081 |0|0|0| C 29 CAL0000: ExtentMap::save(): got request to save an empty BRM
|
Jun 18 10:51:04 localhost IDBFile[5493]: 04.456233 |0|0|0| D 35 CAL0002: Failed to open file: /var/lib/columnstore/data1/systemFiles/dbrm/tablelocks, exception: unable to open Buffered file
|
Jun 18 10:51:04 localhost controllernode[5493]: 04.456285 |0|0|0| D 29 CAL0000: TableLockServer::load(): could not open the save file/var/lib/columnstore/data1/systemFiles/dbrm/tablelocks
|
Jun 18 10:51:08 localhost DMLProc[5572]: 08.635409 |0|0|0| I 20 CAL0002: DMLProc starts rollbackAll.
|
Jun 18 10:51:08 localhost DMLProc[5572]: 08.666086 |0|0|0| I 20 CAL0002: DMLProc will rollback 0 tables.
|
Jun 18 10:51:08 localhost DMLProc[5572]: 08.679169 |0|0|0| I 20 CAL0002: DMLProc finished rollbackAll.
|
Jun 18 10:51:17 localhost ddlpackageproc[5573]: 17.943751 |4|3|0| D 23 CAL0041: Start SQL statement: create table t1 (a int) engine=Columnstore;|test|
|
Jun 18 10:51:17 localhost controllernode[5573]: 17.949660 |0|0|0| W 29 CAL0000: ExtentMap::getSysCatDBRoot(): OID not found: 1001
|
Jun 18 10:51:17 localhost ddlpackageproc[5573]: 17.952378 |4|3|0| D 23 CAL0042: End SQL statement
|
Jun 18 10:51:17 localhost ddlpackageproc[5573]: 17.954941 |0|0|0| E 23 CAL0009: Error while calling getSysCatDBRoot
|
We still have some old packages, maybe they cause problems for Columnstore.
[elenst@localhost rpms]$ rpm -qa | grep -iE 'maria|mysql'
|
MariaDB-compat-10.3.23-1.el7.centos.x86_64
|
MariaDB-server-10.5.4-1.el7.centos.x86_64
|
MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64
|
MariaDB-client-10.5.4-1.el7.centos.x86_64
|
MariaDB-shared-10.3.23-1.el7.centos.x86_64
|
MariaDB-common-10.3.23-1.el7.centos.x86_64
|
Let's upgrade them all
[elenst@localhost rpms]$ sudo yum install MariaDB-shared-10.5.4-1.el7.centos.x86_64.rpm MariaDB-compat-10.5.4-1.el7.centos.x86_64.rpm MariaDB-common-10.5.4-1.el7.centos.x86_64.rpm
|
...
|
|
[elenst@localhost rpms]$ sudo rpm -qa | grep -iE 'maria|mysql'
|
MariaDB-server-10.5.4-1.el7.centos.x86_64
|
MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64
|
MariaDB-compat-10.5.4-1.el7.centos.x86_64
|
MariaDB-client-10.5.4-1.el7.centos.x86_64
|
MariaDB-common-10.5.4-1.el7.centos.x86_64
|
MariaDB-shared-10.5.4-1.el7.centos.x86_64
|
[elenst@localhost rpms]$ sudo systemctl restart mariadb mariadb-columnstore
|
[elenst@localhost rpms]$ mysql -e "create database if not exists test; use test; create table t1 (a int) engine=Columnstore; insert into t1 select seq from seq_1_to_100; select max(a) from t1; show create table t1"
|
ERROR 1815 (HY000) at line 1: Internal error: CAL0009: Error while calling getSysCatDBRoot
|
Didn't help. If there is a workaround for upgrade, it needs to be documented. It should be acceptable for a Beta.
RPM (installation by YUM from local RPMs) [FAILED] for Gamma, [PASSED with notes] for Beta
Clean simultaneous installation of server, client and ColumnStore
Packages from build-33618/kvm-rpm-centos74-amd64, CentOS 7.8.2003
$ sudo yum install MariaDB-server-10.5.4-1.el7.centos.x86_64.rpm MariaDB-client-10.5.4-1.el7.centos.x86_64.rpm MariaDB-common-10.5.4-1.el7.centos.x86_64.rpm MariaDB-shared-10.5.4-1.el7.centos.x86_64.rpm MariaDB-compat-10.5.4-1.el7.centos.x86_64.rpm galera-4-26.4.4-1.rhel7.el7.centos.x86_64.rpm MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64.rpm
The transaction check works.
=======================================================================================
Package Arch Version Repository Size
=======================================================================================
Installing:
MariaDB-client x86_64 10.5.4-1.el7.centos /MariaDB-client-10.5.4-1.el7.centos.x86_64
65 M
MariaDB-columnstore-engine x86_64 10.5.4-1.el7.centos /MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64
29 M
MariaDB-common x86_64 10.5.4-1.el7.centos /MariaDB-common-10.5.4-1.el7.centos.x86_64
303 k
MariaDB-compat x86_64 10.5.4-1.el7.centos /MariaDB-compat-10.5.4-1.el7.centos.x86_64
11 M
replacing mariadb-libs.x86_64 1:5.5.65-1.el7
MariaDB-server x86_64 10.5.4-1.el7.centos /MariaDB-server-10.5.4-1.el7.centos.x86_64
129 M
MariaDB-shared x86_64 10.5.4-1.el7.centos /MariaDB-shared-10.5.4-1.el7.centos.x86_64
343 k
galera-4 x86_64 26.4.4-1.rhel7.el7.centos /galera-4-26.4.4-1.rhel7.el7.centos.x86_64
40 M
Installing for dependencies:
boost-atomic x86_64 1.53.0-28.el7 base 35 k
boost-chrono x86_64 1.53.0-28.el7 base 44 k
boost-filesystem x86_64 1.53.0-28.el7 base 68 k
boost-program-options x86_64 1.53.0-28.el7 base 156 k
boost-regex x86_64 1.53.0-28.el7 base 296 k
expect x86_64 5.45-14.el7_1 base 262 k
tcl x86_64 1:8.5.13-8.el7 base 1.9 M
Transaction Summary
=======================================================================================
Install 7 Packages (+7 Dependent packages)
Total size: 278 M
Total download size: 2.7 M
During installation process:
checking for engine columnstore...
Columnstore YES ColumnStore storage engine YES NO NO
columnstore exist
Otherwise ends uneventfully.
[elenst@localhost rpms]$ sudo systemctl start mariadb
[elenst@localhost rpms]$ sudo mysql -e "show engines"
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
| Columnstore | YES | ColumnStore storage engine | YES | NO | NO |
...
[elenst@localhost rpms]$ sudo mysql -e "create database if not exists test; use test; create table t1 (a int) engine=Columnstore; insert into t1 select seq from seq_1_to_10000; select count(*) from t1"
+----------+
| count(*) |
+----------+
| 10000 |
+----------+
[elenst@localhost rpms]$ sudo mysql -e "select * from information_schema.plugins where plugin_name = 'columnstore'\G"
*************************** 1. row ***************************
PLUGIN_NAME: Columnstore
PLUGIN_VERSION: 1.5
PLUGIN_STATUS: ACTIVE
PLUGIN_TYPE: STORAGE ENGINE
PLUGIN_TYPE_VERSION: 100504.0
PLUGIN_LIBRARY: ha_columnstore.so
PLUGIN_LIBRARY_VERSION: 1.14
PLUGIN_AUTHOR: MariaDB Corporation
PLUGIN_DESCRIPTION: ColumnStore storage engine
PLUGIN_LICENSE: GPL
LOAD_OPTION: ON
PLUGIN_MATURITY: Gamma
PLUGIN_AUTH_VERSION: 1.5.2
It's still Gamma, probably should be reconsidered.
[elenst@localhost rpms]$ sudo systemctl | grep -iE 'maria|columnstore|mcs'
mariadb-columnstore.service loaded active exited mariadb-columnstore
mariadb.service loaded active running MariaDB 10.5.4 database server
mcs-controllernode.service loaded active running mcs-controllernode
mcs-ddlproc.service loaded active running mcs-ddlproc
mcs-dmlproc.service loaded active running mcs-dmlproc
mcs-exemgr.service loaded active running mcs-exemgr
mcs-primproc.service loaded active running mcs-primproc
● mcs-storagemanager.service loaded failed failed storagemanager
mcs-workernode.service loaded active running mcs-workernode
mcs-writeengineserver.service loaded active running WriteEngineServer
storagemanager has alerady been discussed, otherwise it looks normal.
[elenst@localhost rpms]$ sudo systemctl restart mariadb
[elenst@localhost rpms]$ sudo mysql test -e "select * from t1 limit 1; create table t2 (a int) engine=Columnstore; insert into t2 values (1),(2); select * from t2"
+------+
| a |
+------+
| 1 |
+------+
+------+
| a |
+------+
| 1 |
| 2 |
+------+
Still works afer MariaDB server (service) restart.
[elenst@localhost rpms]$ sudo systemctl restart mariadb-columnstore
[elenst@localhost rpms]$
[elenst@localhost rpms]$ sudo mysql test -e "drop table t1; select count(*) from t2; create table t3 (c varchar(8)) engine=Columnstore; insert into t3 values ('foo'),('bar'); update t3 set c = 'baz'; select * from t3"
+----------+
| count(*) |
+----------+
| 2 |
+----------+
+------+
| c |
+------+
| baz |
| baz |
+------+
[elenst@localhost rpms]$ sudo mysql test -e "show tables"
+----------------+
| Tables_in_test |
+----------------+
| t2 |
| t3 |
+----------------+
Works after mariadb-columnstore service restart, too.
And even after reboot:
[elenst@localhost rpms]$ sudo systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[elenst@localhost rpms]$ sudo reboot now
[elenst@localhost ~]$ sudo mysql test -e "select count(*) from t3; create or replace table t4 (a int, c varchar(8)) engine=Columnstore; insert into t4 select seq, concat('seq',seq) from seq_1_to_1000; select count(distinct a) from t4"
+----------+
| count(*) |
+----------+
| 2 |
+----------+
ERROR 1178 (42000) at line 1: The storage engine for the table doesn't support The syntax or the data type(s) is not supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
That's a badly formed error message. I get the idea, though.
[elenst@localhost ~]$ sudo mysql test -e "select count(*) from t3; drop table if exists t4; create table t4 (a int, c varchar(8)) engine=Columnstore; insert into t4 select seq, concat('seq',seq) from seq_1_to_1000; select count(distinct a) from t4"
+----------+
| count(*) |
+----------+
| 2 |
+----------+
+-------------------+
| count(distinct a) |
+-------------------+
| 1000 |
+-------------------+
Still works.
Uninstallation
[elenst@localhost ~]$ sudo mysql test -e "drop table t3; drop table t4"
[elenst@localhost ~]$ sudo mysql test -e "show tables"
[elenst@localhost ~]$ sudo yum remove MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package MariaDB-columnstore-engine.x86_64 0:10.5.4-1.el7.centos will be erased
--> Finished Dependency Resolution
base/7/x86_64 | 3.6 kB 00:00:00
extras/7/x86_64 | 2.9 kB 00:00:00
updates/7/x86_64 | 2.9 kB 00:00:00
Dependencies Resolved
=======================================================================================
Package Arch Version Repository Size
=======================================================================================
Removing:
MariaDB-columnstore-engine
x86_64 10.5.4-1.el7.centos
@/MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64 29 M
Transaction Summary
=======================================================================================
Remove 1 Package
Installed size: 29 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Mariab Columnstore uninstall completed
Erasing : MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64 1/1
Verifying : MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64 1/1
Removed:
MariaDB-columnstore-engine.x86_64 0:10.5.4-1.el7.centos
Complete!
[elenst@localhost ~]$ sudo mysql -e "show engines"
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
| Columnstore | YES | ColumnStore storage engine | YES | NO | NO |
Server didn't get restarted; however, uninstallation of RocksDB (as a baseline) doesn't restart it either, so I can't claim it's a Columnstore-specific problem.
[elenst@localhost rpms]$ sudo systemctl restart mariadb
[elenst@localhost rpms]$ sudo mysql -e "show engines"
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
| CSV | YES | Stores tables as CSV files | NO | NO | NO |
| MRG_MyISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| Aria | YES | Crash-safe tables with MyISAM heritage. Used for internal temporary tables and privilege tables | NO | NO | NO |
| MyISAM | YES | Non-transactional engine with good performance and small data footprint | NO | NO | NO |
| SEQUENCE | YES | Generated tables filled with sequential values | YES | NO | YES |
| InnoDB | DEFAULT | Supports transactions, row-level locking, foreign keys and encryption for tables | YES | YES | YES |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
Now it's gone.
[elenst@localhost ~]$ sudo find / -name *columnstore*
/etc/my.cnf.d/columnstore.cnf.rpmsave
/etc/columnstore
/etc/columnstore/Columnstore.xml.columnstoreSave
/var/lib/mysql/columnstore_info
/var/lib/columnstore
[elenst@localhost ~]$ sudo find / -name *Columnstore*
/etc/columnstore/Columnstore.xml-20200617
/etc/columnstore/Columnstore.xml.columnstoreSave
/etc/columnstore/Columnstore.xml.rpmsave
[elenst@localhost ~]$ sudo find / -name *mcs*
There are remains of Columnstore left, but again, since it's not a purge and I couldn't find anything specific in YUM documentation of what should be preserved and what should be removed, it might be okay.
Installation of ColumnStore on top of pre-installed server
[elenst@localhost rpms]$ rpm -qa | grep -i maria
MariaDB-compat-10.5.4-1.el7.centos.x86_64
MariaDB-common-10.5.4-1.el7.centos.x86_64
MariaDB-server-10.5.4-1.el7.centos.x86_64
MariaDB-client-10.5.4-1.el7.centos.x86_64
[elenst@localhost rpms]$ sudo systemctl status mariadb
● mariadb.service - MariaDB 10.5.4 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/mariadb.service.d
└─migrated-from-my.cnf-settings.conf
Active: active (running) since Thu 2020-06-18 10:06:57 EDT; 29s ago
...
[elenst@localhost rpms]$ sudo yum install MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64.rpm MariaDB-shared-10.5.4-1.el7.centos.x86_64.rpm
...
Installing:
MariaDB-columnstore-engine x86_64 10.5.4-1.el7.centos /MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64
29 M
MariaDB-shared x86_64 10.5.4-1.el7.centos /MariaDB-shared-10.5.4-1.el7.centos.x86_64
343 k
Installing for dependencies:
boost-atomic x86_64 1.53.0-28.el7 base 35 k
boost-chrono x86_64 1.53.0-28.el7 base 44 k
boost-filesystem x86_64 1.53.0-28.el7 base 68 k
boost-regex x86_64 1.53.0-28.el7 base 296 k
expect x86_64 5.45-14.el7_1 base 262 k
tcl x86_64 1:8.5.13-8.el7 base 1.9 M
Transaction Summary
=======================================================================================
Install 2 Packages (+6 Dependent packages)
Total size: 32 M
Total download size: 2.6 M
Installed size: 36 M
Installing : MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64 8/8
checking for engine columnstore...
Columnstore YES ColumnStore storage engine YES NO NO
columnstore exist
Takes a disturbing pause upon Installing : MariaDB-columnstore-engine..., but ends all right, no errors.
[elenst@localhost rpms]$ sudo mysql -e "show engines"
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
| Columnstore | YES | ColumnStore storage engine | YES | NO | NO |
Columnstore is there right away.
[elenst@localhost rpms]$ sudo mysql -e "create database if not exists test; use test; create table t1 (a int) engine=Columnstore; insert into t1 values (1),(2); show create table t1; select * from t1"
+-------+--------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+--------------------------------------------------------------------------------------------+
| t1 | CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=Columnstore DEFAULT CHARSET=latin1 |
+-------+--------------------------------------------------------------------------------------------+
+------+
| a |
+------+
| 1 |
| 2 |
+------+
It works, too.
[elenst@localhost rpms]$ sudo systemctl restart mariadb
[elenst@localhost rpms]$ sudo mysql test -e "update t1 set a = a+10; select * from t1"
+------+
| a |
+------+
| 11 |
| 12 |
+------+
[elenst@localhost rpms]$ sudo systemctl restart mariadb-columnstore
[elenst@localhost rpms]$ sudo mysql test -e "update t1 set a = a+10; alter table t1 add b int; select * from t1"
+------+------+
| a | b |
+------+------+
| 21 | NULL |
| 22 | NULL |
+------+------+
Still works after restarting server and columnstore services (separately), although first query after Columnstore restart still takes really really long.
[elenst@localhost ~]$ sudo systemctl enable mariadb
[elenst@localhost ~]$ sudo reboot now
[elenst@localhost ~]$ sudo mysql test -e "update t1 set a = a+10; create table t2 engine=Columnstore as select * from t1; select * from t2"
+------+------+
| a | b |
+------+------+
| 31 | NULL |
| 32 | NULL |
+------+------+
Still works.
Looks all right. I don't expect any differences in uninstallation comparing to the simultaneous installation, so I'll skip it.
Installation of ColumnStore after server upgrade
We already know that it doesn't work for debs, but RPMs are different, I want at least to see how it looks here.
[elenst@localhost ~]$ rpm -qa | grep -iE 'maria|mysql'
MariaDB-compat-10.3.23-1.el7.centos.x86_64
MariaDB-server-10.3.23-1.el7.centos.x86_64
MariaDB-client-10.3.23-1.el7.centos.x86_64
MariaDB-common-10.3.23-1.el7.centos.x86_64
We don't actually support major upgrade as such, so it's removal of the old server and installation of the new one.
[elenst@localhost rpms]$ sudo yum remove MariaDB-server
[elenst@localhost rpms]$ sudo yum install galera-4-26.4.4-1.rhel7.el7.centos.x86_64.rpm MariaDB-server-10.5.4-1.el7.centos.x86_64.rpm MariaDB-client-10.5.4-1.el7.centos.x86_64.rpm
[elenst@localhost rpms]$ sudo rpm -qa | grep -iE 'mysql|maria'
MariaDB-compat-10.3.23-1.el7.centos.x86_64
MariaDB-server-10.5.4-1.el7.centos.x86_64
MariaDB-client-10.5.4-1.el7.centos.x86_64
MariaDB-common-10.3.23-1.el7.centos.x86_64
[elenst@localhost rpms]$ sudo systemctl start mariadb
[elenst@localhost rpms]$ sudo mysql_upgrade -uroot
Phase 1/7: Checking and upgrading mysql database
Processing databases
mysql
mysql.column_stats OK
mysql.columns_priv OK
mysql.db OK
mysql.event OK
mysql.func OK
mysql.gtid_slave_pos OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
mysql.index_stats OK
mysql.innodb_index_stats OK
mysql.innodb_table_stats OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK
mysql.table_stats OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.transaction_registry OK
mysql.user OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
Processing databases
information_schema
performance_schema
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
[elenst@localhost rpms]$ sudo yum install MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64.rpm
Installing:
MariaDB-columnstore-engine x86_64 10.5.4-1.el7.centos /MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64
29 M
Installing for dependencies:
MariaDB-shared x86_64 10.3.23-1.el7.centos mariadb 113 k
boost-atomic x86_64 1.53.0-28.el7 base 35 k
boost-chrono x86_64 1.53.0-28.el7 base 44 k
boost-filesystem x86_64 1.53.0-28.el7 base 68 k
boost-regex x86_64 1.53.0-28.el7 base 296 k
expect x86_64 5.45-14.el7_1 base 262 k
tcl x86_64 1:8.5.13-8.el7 base 1.9 M
Transaction Summary
=======================================================================================
Install 1 Package (+7 Dependent packages)
Total size: 32 M
Total download size: 2.7 M
Installed size: 36 M
Installing : MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64 8/8
checking for engine columnstore...
Columnstore YES ColumnStore storage engine YES NO NO
columnstore exist
[elenst@localhost rpms]$ mysql -e "show engines"
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
| Columnstore | YES | ColumnStore storage engine | YES | NO | NO |
[elenst@localhost rpms]$ mysql -e "create database if not exists test; use test; create table t1 (a int) engine=Columnstore; insert into t1 select seq from seq_1_to_100; select max(a) from t1; show create table t1"
ERROR 1815 (HY000) at line 1: Internal error: CAL0009: Error while calling getSysCatDBRoot
Problem.
[elenst@localhost rpms]$ sudo systemctl | grep -iE 'column|maria|mcs'
mariadb-columnstore.service loaded active exited mariadb-columnstore
mariadb.service loaded active running MariaDB 10.5.4 database server
mcs-controllernode.service loaded active running mcs-controllernode
mcs-ddlproc.service loaded active running mcs-ddlproc
mcs-dmlproc.service loaded active running mcs-dmlproc
mcs-exemgr.service loaded active running mcs-exemgr
mcs-primproc.service loaded active running mcs-primproc
● mcs-storagemanager.service loaded failed failed storagemanager
mcs-workernode.service loaded active running mcs-workernode
mcs-writeengineserver.service loaded active running WriteEngineServer
[elenst@localhost rpms]$ sudo systemctl restart mariadb mariadb-columnstore
[elenst@localhost rpms]$ mysql -e "create database if not exists test; use test; create table t1 (a int) engine=Columnstore; insert into t1 select seq from seq_1_to_100; select max(a) from t1; show create table t1"
ERROR 1815 (HY000) at line 1: Internal error: CAL0009: Error while calling getSysCatDBRoot
So, it installs here upon an upgraded server, just doesn't work.
It seems different from the Debian problem, but let's see if the workaround meant for Debian magically works here, too.
[elenst@localhost rpms]$ sudo mysql -e "create user mysql@localhost identified via 'unix_socket'; grant all on *.* to mysql@localhost"
[elenst@localhost rpms]$ sudo -u mysql mysql -e "select current_user(); show grants"
+-----------------+
| current_user() |
+-----------------+
| mysql@localhost |
+-----------------+
+-------------------------------------------------------------------------------+
| Grants for mysql@localhost |
+-------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO `mysql`@`localhost` IDENTIFIED VIA unix_socket |
+-------------------------------------------------------------------------------+
[elenst@localhost rpms]$ sudo systemctl stop mariadb mariadb-columnstore
[elenst@localhost rpms]$ sudo systemctl start mariadb-columnstore mariadb
[elenst@localhost rpms]$ mysql -e "create database if not exists test; use test; create table t1 (a int) engine=Columnstore; insert into t1 select seq from seq_1_to_100; select max(a) from t1; show create table t1"
ERROR 1815 (HY000) at line 1: Internal error: CAL0009: Error while calling getSysCatDBRoot
/var/log/mariadb/columnstore/debug.log
[elenst@localhost rpms]$ sudo tail -11 /var/log/mariadb/columnstore/debug.log
Jun 18 10:46:09 localhost ddlpackageproc[5209]: 09.186742 |0|0|0| E 23 CAL0009: Error while calling getSysCatDBRoot
Jun 18 10:50:54 localhost controllernode[5408]: 54.311081 |0|0|0| C 29 CAL0000: ExtentMap::save(): got request to save an empty BRM
Jun 18 10:51:04 localhost IDBFile[5493]: 04.456233 |0|0|0| D 35 CAL0002: Failed to open file: /var/lib/columnstore/data1/systemFiles/dbrm/tablelocks, exception: unable to open Buffered file
Jun 18 10:51:04 localhost controllernode[5493]: 04.456285 |0|0|0| D 29 CAL0000: TableLockServer::load(): could not open the save file/var/lib/columnstore/data1/systemFiles/dbrm/tablelocks
Jun 18 10:51:08 localhost DMLProc[5572]: 08.635409 |0|0|0| I 20 CAL0002: DMLProc starts rollbackAll.
Jun 18 10:51:08 localhost DMLProc[5572]: 08.666086 |0|0|0| I 20 CAL0002: DMLProc will rollback 0 tables.
Jun 18 10:51:08 localhost DMLProc[5572]: 08.679169 |0|0|0| I 20 CAL0002: DMLProc finished rollbackAll.
Jun 18 10:51:17 localhost ddlpackageproc[5573]: 17.943751 |4|3|0| D 23 CAL0041: Start SQL statement: create table t1 (a int) engine=Columnstore;|test|
Jun 18 10:51:17 localhost controllernode[5573]: 17.949660 |0|0|0| W 29 CAL0000: ExtentMap::getSysCatDBRoot(): OID not found: 1001
Jun 18 10:51:17 localhost ddlpackageproc[5573]: 17.952378 |4|3|0| D 23 CAL0042: End SQL statement
Jun 18 10:51:17 localhost ddlpackageproc[5573]: 17.954941 |0|0|0| E 23 CAL0009: Error while calling getSysCatDBRoot
We still have some old packages, maybe they cause problems for Columnstore.
[elenst@localhost rpms]$ rpm -qa | grep -iE 'maria|mysql'
MariaDB-compat-10.3.23-1.el7.centos.x86_64
MariaDB-server-10.5.4-1.el7.centos.x86_64
MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64
MariaDB-client-10.5.4-1.el7.centos.x86_64
MariaDB-shared-10.3.23-1.el7.centos.x86_64
MariaDB-common-10.3.23-1.el7.centos.x86_64
Let's upgrade them all
[elenst@localhost rpms]$ sudo yum install MariaDB-shared-10.5.4-1.el7.centos.x86_64.rpm MariaDB-compat-10.5.4-1.el7.centos.x86_64.rpm MariaDB-common-10.5.4-1.el7.centos.x86_64.rpm
...
[elenst@localhost rpms]$ sudo rpm -qa | grep -iE 'maria|mysql'
MariaDB-server-10.5.4-1.el7.centos.x86_64
MariaDB-columnstore-engine-10.5.4-1.el7.centos.x86_64
MariaDB-compat-10.5.4-1.el7.centos.x86_64
MariaDB-client-10.5.4-1.el7.centos.x86_64
MariaDB-common-10.5.4-1.el7.centos.x86_64
MariaDB-shared-10.5.4-1.el7.centos.x86_64
[elenst@localhost rpms]$ sudo systemctl restart mariadb mariadb-columnstore
[elenst@localhost rpms]$ mysql -e "create database if not exists test; use test; create table t1 (a int) engine=Columnstore; insert into t1 select seq from seq_1_to_100; select max(a) from t1; show create table t1"
ERROR 1815 (HY000) at line 1: Internal error: CAL0009: Error while calling getSysCatDBRoot
Didn't help. If there is a workaround for upgrade, it needs to be documented. It should be acceptable for a Beta.