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

innodb.trx_id_future fails in buildbot

Details

    Description

      innodb.trx_id_future fails in buildbot with "Table doesn't exist in engine"

      http://buildbot.askmonty.org/buildbot/builders/kvm-rpm-centos73-ppc64/builds/9598/steps/mtr/logs/stdio

      10.1 1f498f901b394e869c430b777fdc233a

      innodb.trx_id_future 'innodb_plugin'     w2 [ fail ]
              Test ended at 2019-07-23 14:45:00
       
      CURRENT_TEST: innodb.trx_id_future
      mysqltest: At line 57: query 'SELECT * FROM t1' failed: 1932: Table 'test.t1' doesn't exist in engine
       
      The result from queries just before the failure was:
      #
      # Bug #20445525	ADD A CONSISTENCY CHECK AGAINST DB_TRX_ID BEING
      #		IN THE FUTURE
      #
      CREATE TABLE t1(a INT) row_format=redundant engine=innoDB;
      INSERT INTO t1 VALUES(1);
      NOT FOUND /\[Warning\] InnoDB: A transaction id in a record of table `test`\.`t1` is newer than the system-wide maximum/ in mysqld.1.err
      call mtr.add_suppression("\\[Warning\\] InnoDB: A transaction id in a record of table `test`\\.`t1` is newer than the system-wide maximum");
      SELECT * FROM t1;
      

      Attachments

        Issue Links

          Activity

            trx_id_future is unstable in 10.3:

            http://buildbot.askmonty.org/buildbot/builders/kvm-rpm-centos73-ppc64/builds/9644

            CURRENT_TEST: innodb.trx_id_future
            --- /usr/share/mysql-test/suite/innodb/r/trx_id_future.result	2019-07-27 08:07:27.000000000 +0000
            +++ /dev/shm/var/2/log/trx_id_future.reject	2019-07-27 11:56:36.350175707 +0000
            @@ -8,6 +8,5 @@
             call mtr.add_suppression("\\[Warning\\] InnoDB: A transaction id in a record of table `test`\\.`t1` is newer than the system-wide maximum");
             SELECT * FROM t1;
             a
            -Warnings:
            -Warning	1642	InnoDB: Transaction id in a record of table `test`.`t1` is newer than system-wide maximum.
            +1
             DROP TABLE t1;
            

            midenok Aleksey Midenkov added a comment - trx_id_future is unstable in 10.3: http://buildbot.askmonty.org/buildbot/builders/kvm-rpm-centos73-ppc64/builds/9644 CURRENT_TEST: innodb.trx_id_future --- /usr/share/mysql-test/suite/innodb/r/trx_id_future.result 2019-07-27 08:07:27.000000000 +0000 +++ /dev/shm/var/2/log/trx_id_future.reject 2019-07-27 11:56:36.350175707 +0000 @@ -8,6 +8,5 @@ call mtr.add_suppression("\\[Warning\\] InnoDB: A transaction id in a record of table `test`\\.`t1` is newer than the system-wide maximum"); SELECT * FROM t1; a -Warnings: -Warning 1642 InnoDB: Transaction id in a record of table `test`.`t1` is newer than system-wide maximum. +1 DROP TABLE t1;

            On 10.1, the test fails on big-endian environments, because innodb_checksum_algorithm=crc32 wrongly assumes little-endian byte order. I think that it is easiest to change the test to compute the dummy innodb_checksum_algorithm=none checksum on 10.1, and null-merge that change to 10.2.

            The problem on 10.3 and 10.4 should be something else, possibly related to MDEV-12288. I will investigate. I was unable to reproduce any failure on 10.2 locally, and the cross-reference did not find any either.

            marko Marko Mäkelä added a comment - On 10.1, the test fails on big-endian environments, because innodb_checksum_algorithm=crc32 wrongly assumes little-endian byte order. I think that it is easiest to change the test to compute the dummy innodb_checksum_algorithm=none checksum on 10.1, and null-merge that change to 10.2. The problem on 10.3 and 10.4 should be something else, possibly related to MDEV-12288 . I will investigate. I was unable to reproduce any failure on 10.2 locally, and the cross-reference did not find any either.

            The issues were specific for the test only. No code changes were made.

            On 10.1, we will skip the test on big-endian systems, because the implementation of innodb_checksum_algorithm=crc32 wrongly assumes little-endian byte order.
            On 10.3 and later, we must ensure that purge has run into completion before we shut down the server and corrupt the transaction identifier, so that the corruption will remain after restart.

            marko Marko Mäkelä added a comment - The issues were specific for the test only. No code changes were made. On 10.1, we will skip the test on big-endian systems, because the implementation of innodb_checksum_algorithm=crc32 wrongly assumes little-endian byte order. On 10.3 and later, we must ensure that purge has run into completion before we shut down the server and corrupt the transaction identifier, so that the corruption will remain after restart.

            People

              marko Marko Mäkelä
              elenst Elena Stepanova
              Votes:
              1 Vote for this issue
              Watchers:
              3 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.