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"

    XMLWordPrintable

    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

              People

              Assignee:
              cvicentiu Vicențiu Ciorbaru
              Reporter:
              otto Otto Kekäläinen
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated: