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

--innodb command line option causes mariabackup to fail

Details

    Description

      After MDEV-24197, all mtr tests for Galera failed during SST because mariabackup fails with the following diagnostic:

      Info: Using unique option prefix 'innodb' is error-prone and can break in the future. Please use the full name 'innodb-force-recovery' instead.
      210402 03:24:30 innobackupex: Starting the backup operation
      


      There new option added by MDEV-24197 is the only argumentin the list (in "innobackupex.cc") that starts with "--innodb" prefix. As a result, get_opt treats any argument starting with "--innodb-" as shorthand for "--innodb-force-recovery".
      And we get a non-zero xtrabackup_innodb_force_recovery value due to the parser's erroneous interpretation of some other argument (some other option with the "--innodb-" prefix) supposedly as "--innodb-force-recovery".
      In particular, this has to do with the bootstrap process when starting mtr - it's from /mysql-test/t/bootstrap_innodb.test:

      exec $MYSQLD_BOOTSTRAP_CMD --datadir=$datadir --innodb < $MYSQLTEST_VARDIR/tmp/bootstrap_test.sql >> $MYSQLTEST_VARDIR/tmp/bootstrap.log 2>&1;

      Attachments

        Issue Links

          Activity

            No, this is yet another hack on top of all other hacks.
            As discussed on slack, it's safer to disable prefix matching for command line options completely.

            serg Sergei Golubchik added a comment - No, this is yet another hack on top of all other hacks. As discussed on slack, it's safer to disable prefix matching for command line options completely.

            1) Fixed my_getopt;
            2) Added a filter to the SST script;
            3) Removed usage of the outdated --innobackupex interface;
            4) Ffixed tests that depended on the old parser behavior;
            5) Fixed the problem with passing the password through the environment.

            https://github.com/MariaDB/server/commit/57d5fe737e2baf7fcb6fe48595a8d35b79305938
            http://buildbot.askmonty.org/buildbot/grid?category=main&branch=bb-10.2-MDEV-25328-v2

            sysprg Julius Goryavsky added a comment - 1) Fixed my_getopt; 2) Added a filter to the SST script; 3) Removed usage of the outdated --innobackupex interface; 4) Ffixed tests that depended on the old parser behavior; 5) Fixed the problem with passing the password through the environment. https://github.com/MariaDB/server/commit/57d5fe737e2baf7fcb6fe48595a8d35b79305938 http://buildbot.askmonty.org/buildbot/grid?category=main&branch=bb-10.2-MDEV-25328-v2
            sysprg Julius Goryavsky added a comment - - edited

            As discussed with Sergei, it was decided to split patch into a simple fix here and a separate task of transferring SST scripts to a new interface.

            sysprg Julius Goryavsky added a comment - - edited As discussed with Sergei, it was decided to split patch into a simple fix here and a separate task of transferring SST scripts to a new interface.

            Simple one-line fix plus minor cosmetic changes to the previous patch (which caused problems) to get rid of unnecessary spaces on the command line + corrected tests that could hypothetically cause problems in the future due to abbreviations for option names:

            http://buildbot.askmonty.org/buildbot/grid?category=main&branch=bb-10.2-MDEV-25328-v3
            https://github.com/MariaDB/server/commit/40d63d6099c1a522dba8120368de6c3acd8c80e4

            sysprg Julius Goryavsky added a comment - Simple one-line fix plus minor cosmetic changes to the previous patch (which caused problems) to get rid of unnecessary spaces on the command line + corrected tests that could hypothetically cause problems in the future due to abbreviations for option names: http://buildbot.askmonty.org/buildbot/grid?category=main&branch=bb-10.2-MDEV-25328-v3 https://github.com/MariaDB/server/commit/40d63d6099c1a522dba8120368de6c3acd8c80e4

            Everything else has been moved into a separate task: https://jira.mariadb.org/browse/MDEV-25356

            sysprg Julius Goryavsky added a comment - Everything else has been moved into a separate task: https://jira.mariadb.org/browse/MDEV-25356
            sysprg Julius Goryavsky added a comment - It's the same in three different commits (just split): https://github.com/MariaDB/server/commit/e14d1b35cff2d33f5bdcf578511c73b04245b372 https://github.com/MariaDB/server/commit/1b140716e40d8d46ba8daee296a5e2189056f554 https://github.com/MariaDB/server/commit/b767adb3ca3f718f6aafd53754253c585f23ec24
            serg Sergei Golubchik added a comment - https://github.com/MariaDB/server/commit/e14d1b35cff2d33f5bdcf578511c73b04245b372 https://github.com/MariaDB/server/commit/1b140716e40d8d46ba8daee296a5e2189056f554 https://github.com/MariaDB/server/commit/b767adb3ca3f718f6aafd53754253c585f23ec24 are ok to push

            fixed

            sysprg Julius Goryavsky added a comment - fixed

            People

              sysprg Julius Goryavsky
              sysprg Julius Goryavsky
              Votes:
              0 Vote for this issue
              Watchers:
              2 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.