Details

    • Task
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • N/A
    • Tests
    • None

    Description

      try the installation procedure and some basic stuff to see whether anything needs to be done there, what maturity level to use, etc.

      Attachments

        Issue Links

          Activity

            elenst Elena Stepanova added a comment - - edited

            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.

            elenst Elena Stepanova added a comment - - edited 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.
            drrtuy Roman added a comment -

            Thanks for the latest test elenst

            Upgrade issues caused by two facts:

            • post-install script fails to execute SQL statements with mysql user privileges
            • post-install quites early b/c it fails SQL statements and doesn't create initial syscat for MCS

            We addresed these issues and changed the way we execute SQL. post-install now continues even if it fails SQL statements so initial syscat is populated in the end. The post-install script also prints a message suggesting the user to fix authentication issues and run the necessary script manually.

            I've also added SQL clean up into pre-uninstall scripts to delete MCS data objects.
            The next BB build should contain the mentioned fixes for both debian major upgrade scenario and the latest centos 7 scenario.

            drrtuy Roman added a comment - Thanks for the latest test elenst Upgrade issues caused by two facts: post-install script fails to execute SQL statements with mysql user privileges post-install quites early b/c it fails SQL statements and doesn't create initial syscat for MCS We addresed these issues and changed the way we execute SQL. post-install now continues even if it fails SQL statements so initial syscat is populated in the end. The post-install script also prints a message suggesting the user to fix authentication issues and run the necessary script manually. I've also added SQL clean up into pre-uninstall scripts to delete MCS data objects. The next BB build should contain the mentioned fixes for both debian major upgrade scenario and the latest centos 7 scenario.

            Basic final check before merge

            bb-10.5-cs 19d09e49912 build 33657

            Platforms

            • Ubuntu 16.04 Xenial
            • CentOS 7.8
            • openSUSE 15.1

            Scope of the check

            • clean install
              • mariadb service restart
              • mariadb-columnstore service restart
              • reboot
            • uninstallation
            • upgrade from 10.3
              • mysql_upgrade
              • mariadb service restart
              • mariadb-columnstore service restart

            Results

            • Installation/upgrade and further operation at least on CentOS and openSUSE can be affected by MCOL-4086 (CAL0060/ CAL0009) – the scope of the limitation and a workaround need to be documented;
            • Installation/upgrade on Ubuntu can be affected by MCOL-4088 (sporadic crashes of workernode or controllernode) – a workaround needs to be documented;
            • Uninstallation on all platforms is affected by MCOL-4087 (SQL syntax error) – possibly just a cosmetic issue, needs to be checked;

            Other notes

            • MCOL-4090 - presence of columnstore plugin interferes with a local installation of a source build;
            • MCOL-4089 - typo, small cosmetic issue;
            • I believe a little more complicated installation scenarios don't work quite correctly, e.g. installation of server + plugin => uninstallation of plugin => re-installation of plugin may be causing at least unexpected server shutdown. However, I don't think it makes sense to test those at this point.
            elenst Elena Stepanova added a comment - Basic final check before merge bb-10.5-cs 19d09e49912 build 33657 Platforms Ubuntu 16.04 Xenial CentOS 7.8 openSUSE 15.1 Scope of the check clean install mariadb service restart mariadb-columnstore service restart reboot uninstallation upgrade from 10.3 mysql_upgrade mariadb service restart mariadb-columnstore service restart Results Installation/upgrade and further operation at least on CentOS and openSUSE can be affected by MCOL-4086 (CAL0060/ CAL0009) – the scope of the limitation and a workaround need to be documented ; Installation/upgrade on Ubuntu can be affected by MCOL-4088 (sporadic crashes of workernode or controllernode) – a workaround needs to be documented ; Uninstallation on all platforms is affected by MCOL-4087 (SQL syntax error) – possibly just a cosmetic issue, needs to be checked; Other notes MCOL-4090 - presence of columnstore plugin interferes with a local installation of a source build; MCOL-4089 - typo, small cosmetic issue; I believe a little more complicated installation scenarios don't work quite correctly, e.g. installation of server + plugin => uninstallation of plugin => re-installation of plugin may be causing at least unexpected server shutdown. However, I don't think it makes sense to test those at this point.

            Basic final check after the merge and fixes

            bb-10.5-release 8ad9ef642a build 33657

            Platforms:

            • Ubuntu 16.04 Xenial
            • CentOS 7.8
            • openSUSE 15.1

            Scope of the check: only clean simultaneous install (server + columnstore + required packages)

            Ubuntu: out of two installation attempts, both failed with the symptoms of MCOL-4088 (system error during installation, followed by persistent CAL0009: Error while calling getSysCatDBRoot).
            I still haven't heard of a workaround for the problem from the Columnstore team. The best I could do was remove/purge mariadb-plugin-columnstore and install it again. It helped in both cases, although I wouldn't consider it a decent workaround.

            CentOS: out of three attempts, all went seemingly fine during installation, however one of three resulted in the persistent CAL0009: Error while calling getSysCatDBRoot, which could be either MCOL-4088 or MCOL-4086, or both. I found logs of crashes similar to MCOL-4088 in the trace folder. Re-installation of the Columnstore package did not help. CAL0009 persisted, even though this time there were no crashes in the trace folder. Total cleanup and re-installation of all MariaDB packages did help, but it's hardly a workaround at all.

            openSUSE: single attempt, installation went and ended without any visible problems, but resulted in the persistent CAL0009: Error while calling getSysCatDBRoot error. Re-installation of Columnstore package didn't help. I didn't attempt re-installation of the whole MariaDB instance.

            elenst Elena Stepanova added a comment - Basic final check after the merge and fixes bb-10.5-release 8ad9ef642a build 33657 Platforms: Ubuntu 16.04 Xenial CentOS 7.8 openSUSE 15.1 Scope of the check: only clean simultaneous install (server + columnstore + required packages) Ubuntu: out of two installation attempts, both failed with the symptoms of MCOL-4088 (system error during installation, followed by persistent CAL0009: Error while calling getSysCatDBRoot ). I still haven't heard of a workaround for the problem from the Columnstore team. The best I could do was remove/purge mariadb-plugin-columnstore and install it again. It helped in both cases, although I wouldn't consider it a decent workaround. CentOS: out of three attempts, all went seemingly fine during installation, however one of three resulted in the persistent CAL0009: Error while calling getSysCatDBRoot , which could be either MCOL-4088 or MCOL-4086 , or both. I found logs of crashes similar to MCOL-4088 in the trace folder. Re-installation of the Columnstore package did not help. CAL0009 persisted, even though this time there were no crashes in the trace folder. Total cleanup and re-installation of all MariaDB packages did help, but it's hardly a workaround at all. openSUSE: single attempt, installation went and ended without any visible problems, but resulted in the persistent CAL0009: Error while calling getSysCatDBRoot error. Re-installation of Columnstore package didn't help. I didn't attempt re-installation of the whole MariaDB instance.

            Changes in buildbot

            Columnstore is now used by buildbot installation and minor upgrade tests in kvm-deb, kvm-rpm and kvm-zyp builders.

            Installation tests

            Installation tests install all packages built in the current build, including Columnstore.
            See limitations below.
            If something goes wrong, installation and minor upgrade tests on deb builders attempt to store Columnstore logs for further analysis. It is done on the best-effort basis. If succeded, the logs can be obtained from columnstore_logs file under the failed buildbot step.

            After installation is finished, if Columnstore was among packages, installation tests create a Columnstore table, insert a few values, restart mariadb service, read/update the table, restart mariadb-columnstore service, read/update the table. All actions are expected to succeed.

            Minor upgrade tests

            The server and Columnstore packages of the last released version are installed from the official repo. After installation the test creates a Columnstore table and inserts a few values.
            Then upgrade to the current packages is performed, the exact command depends on the package manager. The previously created Columnstore table is accessed and updated.

            Limitations:

            • due to MDEV-14622, installation tests on deb-based systems install Columnstore separately, after the server installation is done
            • due to MCOL-4123, installation tests on deb-based x86 (32-bit) systems don't install Columnstore
            • due to MCOL-4120 and other obscure Columnstore problems, minor-upgrade-all test which installs and upgrades all available packages skips Columnstore. Columnstore upgrade test is performed separately, only mariadb-server, mariadb-columnstore and their dependencies are installed and upgraded
            • due to MCOL-4120, extra server (re-)start is performed after upgrade

            At the moment there are no known false positives caused by test deficiencies. Till the last push tests were failing sporadically, either due to already reported bugs or to some other problems indistinguishable from already reported bugs. The last push into 10.5 caused upgrade test failures on all systems, from all I see it is not a test problem but a real one.

            Additionally, buildbot build from source RPMs is currently broken due to MCOL-4136.

            elenst Elena Stepanova added a comment - Changes in buildbot Columnstore is now used by buildbot installation and minor upgrade tests in kvm-deb, kvm-rpm and kvm-zyp builders. Installation tests Installation tests install all packages built in the current build, including Columnstore. See limitations below. If something goes wrong, installation and minor upgrade tests on deb builders attempt to store Columnstore logs for further analysis. It is done on the best-effort basis. If succeded, the logs can be obtained from columnstore_logs file under the failed buildbot step. After installation is finished, if Columnstore was among packages, installation tests create a Columnstore table, insert a few values, restart mariadb service, read/update the table, restart mariadb-columnstore service, read/update the table. All actions are expected to succeed. Minor upgrade tests The server and Columnstore packages of the last released version are installed from the official repo. After installation the test creates a Columnstore table and inserts a few values. Then upgrade to the current packages is performed, the exact command depends on the package manager. The previously created Columnstore table is accessed and updated. Limitations: due to MDEV-14622 , installation tests on deb-based systems install Columnstore separately, after the server installation is done due to MCOL-4123 , installation tests on deb-based x86 (32-bit) systems don't install Columnstore due to MCOL-4120 and other obscure Columnstore problems, minor-upgrade-all test which installs and upgrades all available packages skips Columnstore. Columnstore upgrade test is performed separately, only mariadb-server, mariadb-columnstore and their dependencies are installed and upgraded due to MCOL-4120 , extra server (re-)start is performed after upgrade At the moment there are no known false positives caused by test deficiencies. Till the last push tests were failing sporadically, either due to already reported bugs or to some other problems indistinguishable from already reported bugs. The last push into 10.5 caused upgrade test failures on all systems, from all I see it is not a test problem but a real one. Additionally, buildbot build from source RPMs is currently broken due to MCOL-4136 .

            People

              elenst Elena Stepanova
              serg Sergei Golubchik
              Votes:
              0 Vote for this issue
              Watchers:
              14 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.