Uploaded image for project: 'MariaDB ColumnStore'
  1. MariaDB ColumnStore
  2. MCOL-5162

dbbuilder will support syscat upgrades

Details

    • Task
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 22.08.1
    • 22.08.1
    • installation
    • None
    • 2021-17

    Description

      There are two features in 22.08 that needs to upgrade an existing syscat with multiple syscat columns. There is no existing facility that can do this now.
      After some consideration dbbuilder update should be used to run syscat upgrades from now on.

      Attachments

        Issue Links

          Activity

            drrtuy Roman added a comment -

            Here is the semi-design document that contains initial info about the project.

            drrtuy Roman added a comment - Here is the semi-design document that contains initial info about the project.
            drrtuy Roman added a comment -

            tntnatbry Could elaborate on how to test this feature?

            drrtuy Roman added a comment - tntnatbry Could elaborate on how to test this feature?

            Testing instructions:

            1. Create a CS table (say t1) pre-MCOL-5021 (use develop nightly build before build number 5299. 5299 is the nightly develop build with MCOL-5021). Run some DMLs and SELECTs statements.
            2. Uninstall the CS package. Download and install the new package with the code changes for MCOL-5021 and MCOL-5162. MCOL-5162 is merged on 2022-08-16, so use a nightly develop build after this date for the CS package that includes both the MCOL-5021 and MCOL-5162 code changes. During the package install, you will notice a dbbuilder executable output saying the syscat is getting upgraded and it will report which OIDs are getting upgraded (by upgrade it means populating that OID/column with default values).
            3. Run the following query on the syscat table:

                    SELECT * FROM calpontsys.systable;
              

              Notice a new column auxcolumnoid should now be in the calpontsys.systable table DDL. For table t1, this column should have a value of 0.

            4. Run the SELECTs on t1 again as in Step 1 and it should return the same output as earlier. You can run more DMLs and SELECTs on table t1 now to confirm t1 is not impacted in any way with the upgrade.
            5. Create a new CS table (say t2) with the new CS version. Now notice the value of `auxcolumnoid` in calpontsys.systable. It should be > 3000.
            6. Run some DML and SELECT statements on t2 to verify the outputs are correct.
            7. Optional step: To compare the DELETE performance between t1 (no AUX column) and t2 (with AUX column) (both tables should have same DDL), insert say, 1million records to both t1 and t2 and then run DELETE statements with a WHERE clause.
            tntnatbry Gagan Goel (Inactive) added a comment - Testing instructions: Create a CS table (say t1) pre- MCOL-5021 (use develop nightly build before build number 5299. 5299 is the nightly develop build with MCOL-5021 ). Run some DMLs and SELECTs statements. Uninstall the CS package. Download and install the new package with the code changes for MCOL-5021 and MCOL-5162 . MCOL-5162 is merged on 2022-08-16, so use a nightly develop build after this date for the CS package that includes both the MCOL-5021 and MCOL-5162 code changes. During the package install, you will notice a dbbuilder executable output saying the syscat is getting upgraded and it will report which OIDs are getting upgraded (by upgrade it means populating that OID/column with default values). Run the following query on the syscat table: SELECT * FROM calpontsys.systable; Notice a new column auxcolumnoid should now be in the calpontsys.systable table DDL. For table t1, this column should have a value of 0. Run the SELECTs on t1 again as in Step 1 and it should return the same output as earlier. You can run more DMLs and SELECTs on table t1 now to confirm t1 is not impacted in any way with the upgrade. Create a new CS table (say t2) with the new CS version. Now notice the value of `auxcolumnoid` in calpontsys.systable. It should be > 3000. Run some DML and SELECT statements on t2 to verify the outputs are correct. Optional step: To compare the DELETE performance between t1 (no AUX column) and t2 (with AUX column) (both tables should have same DDL), insert say, 1million records to both t1 and t2 and then run DELETE statements with a WHERE clause.

            Build verified: 22.08-1 (#5313)

            1. upgraded from 6.4.2-1 to 2.2.08-1
            2. performed upgrades using two ways: package and local repos
            3. performed upgrades using on rocky 8 and ubuntu 20.04 (rpm and deb)
            4. performed upgrades for single-node and 3pm clusters
            5. verified that old table has 0 for auxcolumnoid and new tables have auxcolumnoid > 3000.

            dleeyh Daniel Lee (Inactive) added a comment - Build verified: 22.08-1 (#5313) 1. upgraded from 6.4.2-1 to 2.2.08-1 2. performed upgrades using two ways: package and local repos 3. performed upgrades using on rocky 8 and ubuntu 20.04 (rpm and deb) 4. performed upgrades for single-node and 3pm clusters 5. verified that old table has 0 for auxcolumnoid and new tables have auxcolumnoid > 3000.

            People

              dleeyh Daniel Lee (Inactive)
              drrtuy Roman
              Roman Roman
              Votes:
              0 Vote for this issue
              Watchers:
              4 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.