[MCOL-4965] Upgrade/UX Regression Created: 2022-01-19  Updated: 2022-03-10  Resolved: 2022-02-17

Status: Closed
Project: MariaDB ColumnStore
Component/s: installation
Affects Version/s: 5.6.3, 6.1.1
Fix Version/s: 6.3.1

Type: Bug Priority: Blocker
Reporter: Allen Herrera Assignee: Daniel Lee (Inactive)
Resolution: Fixed Votes: 0
Labels: regression

Attachments: Text File reproduceUserExperienceIssues.txt    
Issue Links:
Relates
relates to MCOL-4979 Upgrade Experience | CMAPI doesnt loa... Closed
Sprint: 2021-16, 2021-17

 Description   

Multiple user experience issues popping up
Steps to reproduce attached and a video

  • When upgrading/installing from CS 5 to 6, columnstore and mysql customizations are lost - worse, you cant even startup columnstore until you swap back in the old customization
  • Logs under /var/log/mariadb/columnstore/* have weird permissions, some root:root others mysql:mysql
  • I couldn't test installing cmapi 1.4 or 1.5 where the name was different to test upgrade impact as the lastest cs 5.6.3 now comes with cmapi 1.6 but clients running the older versions have the older cmapi.

Expected:
After installing CS 6, at least my columnstore configurations would be put back into place so that I can turn on columnstore.

Actual:
During the uninstall of CS 5, Columnstore.xml gets moved to Columnstore.xml.rpmsave and never moved back automatically. causing customer experience issues as cmapi loses its API key configuration, the columnstore.xml doesn't know its part of a cluster, and cmapi 1.6 blocks using systemctl start mariadb-columnstore (for the better else i'd be worse).



 Comments   
Comment by David Hall (Inactive) [ 2022-02-03 ]

QA: There are cmapi changes (MCOL-4979 will have them) that are needed together with this columnstore patch. They should be tested together.

Comment by Daniel Lee (Inactive) [ 2022-02-07 ]

With these changes, what settings, if not all, in the Columnstore.xml files are being preserved. Is there a hard coded list of parameters? or it do we have an automatic means to preserve all parameters? Also, please make sure the process handle newly added parameters (newly introduced by the new release).

Also, MCOL-4979 is not yet ready for testing

Comment by David Hall (Inactive) [ 2022-02-07 ]

For the purposes of this JIRA, the old Columnstore.xml file should be preserved in full. A new one should exist in Columnstore.xml.new for reference if needed. A new Jira will be created to cause a merge of old settings into the new xml file. This will have the following benefits: 1) Deprecated settings will not be left cluttering up the place. 2) New settings will exist in the new file. This isn't required since any setting not in the file will be set to the default in code. It does have documentation uses, showing that the setting exists and what the default is.

Comment by David Hall (Inactive) [ 2022-02-07 ]

4979 is required for cmapi to do the right thing in multi-server applications. For stand alone systems (no cmapi), this Jira should be sufficient.

Comment by Daniel Lee (Inactive) [ 2022-02-17 ]

Build tested: ColumnStore 6.2.4 (b3885), CMAPI 1.6.2 (b607)

Performed 3-node upgrade tests (6.1.1 to 6.2.4)
Tested on Centos8 and Ubuntu18 using package (DEB or RPM) and repostory

Ubuntu18 DEB and repository installation and upgrade
Centos8 RPM and repository installation and upgrade

Verified the following files are the same before and after upgrade
cmapi_server.conf
columnstore.cnf
Columnstore.xml
storagemanager.cnf

    • Please be aware that the old version of these files are kept as the
      current configuration files after upgrade. They are not merged with
      the configuration files that come with the new ColumnStore release
      the one that's being upgrade to. If there are new parameters add
      to the new release, they need to be migrated manually.

When upgrading using DEB or RPM files manually (uninstall and reinstall)
The server configuration file, server.cnf, is being replaced by the
one that comes with the new release. When upgrading using repository,
the customized version of the server.cnf is being kept for the upgraded
cluster.

Generated at Thu Feb 08 02:54:21 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.