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

mtr fails to start with "No option named 'plugin-dir' in group 'mysqld.1' at lib/My/ConfigFactory.pm line 349"

Details

    Description

      When I packaged 10.4 for Debian back in July 2019 based on version 10.4.6 I did not see any issues in starting the mysql-test-run. Proof: https://salsa.debian.org/mariadb-team/mariadb-10.4/-/jobs/241143

      However, now when imported 10.4.12 the test suite started to fail with:

      root@7ed9ad728b3e:/usr/share/mysql/mysql-test# perl -I. ./mysql-test-run.pl --suite=main --vardir=$WORKDIR/var --tmpdir=$WORKDIR/tmp \
      >     --parallel=auto --skip-rpl \
      >     --force
      Logging: ./mysql-test-run.pl  --suite=main --vardir=/build/var --tmpdir=/build/tmp --parallel=auto --skip-rpl --force
      vardir: /build/var
      Removing old var directory...
      Creating var directory '/build/var'...
      Checking supported features...
      Can't exec "patch": No such file or directory at ./mysql-test-run.pl line 2152.
      MariaDB Version 10.4.12-MariaDB-1
       - SSL connections supported
       - binaries built with wsrep patch
      Using suites: main
      Collecting tests...
      No option named 'plugin-dir' in group 'mysqld.1' at lib/My/ConfigFactory.pm line 349.
      

      I can reproduce this locally and it is also visible in CI: https://salsa.debian.org/mariadb-team/mariadb-10.4/-/jobs/553231

      Please advice what might be wrong here and what might have changed in upstream regarding mtr and plugin_dir handling.

      I checked the git history of include/plugin.defs and mysql-test-run.pl and lib/v1/mysql-test-run.pl and main/variables* but I don't spot anything that I think could be related. Remotely maybe 4fef644303ecdf6ea88ea40d3733dea6bd2cf41d ?

      The section in +349 lib/My/ConfigFactory.pm points to:

      sub resolve_at_variable {
        my ($self, $config, $group, $option)= @_;
        local $_ = $option->value();
        my ($res, $after);
       
        while (m/(.*?)\@((?:\w+\.)+)(#?[-\w]+)/g) {
          my ($before, $group_name, $option_name)= ($1, $2, $3);
          $after = $';
          chop($group_name);
       
        my $from_group= $config->group($group_name)
          or croak "There is no group named '$group_name' that ",
            "can be used to resolve '$option_name' for test '$self->{testname}'";
       
          my $value= $from_group->value($option_name);
          $res .= $before.$value;
        }
        $res .= $after;
       
        $option->{value}= $res;
      }
      

      This section has only one change since summer: 9b22354a594570e23cc675d90836743ce7a3ba1c But I don't see how that could cause this error.

      Attachments

        Issue Links

          Activity

            This is now solved downstream, let's keep it open until also fixed upstream.


            https://salsa.debian.org/mariadb-team/mariadb-10.4/pipelines/110060

            otto Otto Kekäläinen added a comment - This is now solved downstream, let's keep it open until also fixed upstream. https://salsa.debian.org/mariadb-team/mariadb-10.4/pipelines/110060

            Should this be applied on 10.5 now?

            otto Otto Kekäläinen added a comment - Should this be applied on 10.5 now?

            This is still open, and we still carry the patch https://salsa.debian.org/mariadb-team/mariadb-10.5/-/blob/master/debian/patches/mtr-plugin-path.patch downstream in Debian. Any updates on this cvicentiu (or maybe danblack)?

            otto Otto Kekäläinen added a comment - This is still open, and we still carry the patch https://salsa.debian.org/mariadb-team/mariadb-10.5/-/blob/master/debian/patches/mtr-plugin-path.patch downstream in Debian. Any updates on this cvicentiu (or maybe danblack )?

            I removed this patch in https://salsa.debian.org/mariadb-team/mariadb-10.5/-/commit/bde2cf481fa48a0dd85b9ad40e27ad5005ad1122 and at least mariadb-10.5 builds and test suite seems to run fine without it. See e.g. https://buildd.debian.org/status/package.php?p=mariadb-10.5

            otto Otto Kekäläinen added a comment - I removed this patch in https://salsa.debian.org/mariadb-team/mariadb-10.5/-/commit/bde2cf481fa48a0dd85b9ad40e27ad5005ad1122 and at least mariadb-10.5 builds and test suite seems to run fine without it. See e.g. https://buildd.debian.org/status/package.php?p=mariadb-10.5

            Tested also locally and works just fine now:

            # cd /usr/share/mysql/mysql-test
            # export WORKDIR=$(mktemp -d)
            # perl -I. ./mysql-test-run.pl --suite=main --vardir=$WORKDIR/var --tmpdir=$WORKDIR/tmp  --parallel=auto --skip-rpl --force
            Logging: ./mysql-test-run.pl  --suite=main --vardir=/var --tmpdir=/tmp --parallel=auto --skip-rpl --force
            vardir: /var
            Checking leftover processes...
            mysql-test-run: WARNING: Found non pid file 'utmp' in '/var/run'
            Removing old var directory...
            Creating var directory '/var'...
            Checking supported features...
            Can't exec "patch": No such file or directory at ./mysql-test-run.pl line 2029.
            MariaDB Version 10.5.5-MariaDB-4
             - SSL connections supported
            Using suites: main
            Collecting tests...
            Installing system database...
            Using parallel: 8
             
            ==============================================================================
             
            TEST                                  WORKER RESULT   TIME (ms) or COMMENT
            --------------------------------------------------------------------------
            ...
            

            otto Otto Kekäläinen added a comment - Tested also locally and works just fine now: # cd /usr/share/mysql/mysql-test # export WORKDIR=$(mktemp -d) # perl -I. ./mysql-test-run.pl --suite=main --vardir=$WORKDIR/var --tmpdir=$WORKDIR/tmp --parallel=auto --skip-rpl --force Logging: ./mysql-test-run.pl --suite=main --vardir=/var --tmpdir=/tmp --parallel=auto --skip-rpl --force vardir: /var Checking leftover processes... mysql-test-run: WARNING: Found non pid file 'utmp' in '/var/run' Removing old var directory... Creating var directory '/var'... Checking supported features... Can't exec "patch": No such file or directory at ./mysql-test-run.pl line 2029. MariaDB Version 10.5.5-MariaDB-4 - SSL connections supported Using suites: main Collecting tests... Installing system database... Using parallel: 8   ==============================================================================   TEST WORKER RESULT TIME (ms) or COMMENT -------------------------------------------------------------------------- ...

            People

              cvicentiu Vicențiu Ciorbaru
              otto Otto Kekäläinen
              Votes:
              0 Vote for this issue
              Watchers:
              5 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.