Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-35459

RPM upgrade throws errors if Columnstore is installed alongside with compression providers

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • 10.11, 11.4, 11.6(EOL)
    • 10.11, 11.4
    • Packaging
    • None

    Description

      In the middle of RPM upgrade Columnstore attempts to restart the server, and it happens after the new server is already installed, but before the providers got upgraded.
      Old providers cannot be loaded with the new server, and since they are "forced" in the config, the server doesn't start either.
      Columnstore throws errors about the failure, but the upgrade continues and eventually runs to the end.
      The visible effect for the server is that it isn't running after upgrade, it needs to be restarted manually (which isn't normally the case).
      I don't know what effects, if any, there are for Columnstore.

      To reproduce on RHEL/Rocky 9, 10.11.9 => 10.11.10 upgrade (on other RPM-based systems adjust the repo accordingly):

      Add the repo:

      $ cat /etc/yum.repos.d/Maria.repo 
      

      [mariadb]
      name=MariaDB
      baseurl=https://archive.mariadb.org/yum/10.11.9/rhel/9/x86_64
      gpgkey=https://mirror.23m.com/mariadb/yum/RPM-GPG-KEY-MariaDB
      gpgcheck=1
      

      sudo sh -c 'yum -y --nogpgcheck install MariaDB-client MariaDB-common MariaDB-provider-bzip2 MariaDB-provider-lz4 MariaDB-provider-lzma MariaDB-provider-lzo MariaDB-provider-snappy MariaDB-server MariaDB-shared MariaDB-columnstore-engine'
       
      sudo systemctl start mariadb
      sudo mysql -e "select @@version"
      

      Point the repo to a newer version

      10.11.9 => 10.11.10
      

      sudo sh -c 'yum -y --nogpgcheck upgrade MariaDB-client MariaDB-common MariaDB-provider-bzip2 MariaDB-provider-lz4 MariaDB-provider-lzma MariaDB-provider-lzo MariaDB-provider-snappy MariaDB-server MariaDB-shared MariaDB-columnstore-engine'
       
      sudo mysql -e "select @@version"
      

      The errors in the upgrade output look like this:

      10.11.9 => 10.11.10

        Running scriptlet: MariaDB-server-10.11.10-1.el9.x86_64                                                                                                               4/20 
      usermod: no changes
       
        Upgrading        : MariaDB-server-10.11.10-1.el9.x86_64                                                                                                               4/20 
        Running scriptlet: MariaDB-server-10.11.10-1.el9.x86_64                                                                                                               4/20 
      ...
       
        Running scriptlet: MariaDB-columnstore-engine-10.11.10_6.4.8-1.el9.x86_64                                                                                             5/20 
       
      Mariab Columnstore uninstall completed
       
        Upgrading        : MariaDB-columnstore-engine-10.11.10_6.4.8-1.el9.x86_64                                                                                             5/20 
        Running scriptlet: MariaDB-columnstore-engine-10.11.10_6.4.8-1.el9.x86_64                                                                                             5/20 
      checking for engine columnstore...
      columnstore doesn't exist
      There was an error installing MariaDB ColumnStore engine plugin. Continue to install the engine though. Please resolve the issues and run necessary scripts manually.
      Populating the engine initial system catalog.
       
        Upgrading        : MariaDB-provider-bzip2-10.11.10-1.el9.x86_64                                                                                                       6/20 
        Running scriptlet: MariaDB-provider-bzip2-10.11.10-1.el9.x86_64                                                                                                       6/20 
       
      ...
       
      Upgraded:
        MariaDB-client-10.11.10-1.el9.x86_64                  MariaDB-columnstore-engine-10.11.10_6.4.8-1.el9.x86_64          MariaDB-common-10.11.10-1.el9.x86_64                
        MariaDB-provider-bzip2-10.11.10-1.el9.x86_64          MariaDB-provider-lz4-10.11.10-1.el9.x86_64                      MariaDB-provider-lzma-10.11.10-1.el9.x86_64         
        MariaDB-provider-lzo-10.11.10-1.el9.x86_64            MariaDB-provider-snappy-10.11.10-1.el9.x86_64                   MariaDB-server-10.11.10-1.el9.x86_64                
        MariaDB-shared-10.11.10-1.el9.x86_64                 
       
      Complete!
      

      The error log complains about

      [ERROR] mariadbd: Can't open shared library 'provider_bzip2.so' (errno: 8, API version for DAEMON plugin provider_bzip2 not supported by this version of the server)
      ...
      [ERROR] Couldn't load plugins from 'provider_bzip2.so'
      ...
      /usr/sbin/mariadbd: unknown variable 'provider_bzip2=force_plus_permanent'
      ...
      

      The server isn't running after upgrade, but when started manually, it looks normal.

      Note that there can be other packages which also cannot load during this restart – RocksDB, Spider, maybe more. However, they don't have default variables enabled, so the server doesn't complains about the libraries not being loaded, but doesn't fail to start. It can happen however that if the restart is fixed somehow, those other plugins will still end up not loaded (depending on when the last automatic restart happens).

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:

              Git Integration

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