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

Test encryption.create_or_replace fails intermittently with a warning

Details

    Description

      The test encryption.create_or_replace would occasionally fail with a warning message:

      10.3 fba6ffe433fdba7aa397f1de8eb4ee0a74f55800

      encryption.create_or_replace 'ctr,innodb' w2 [ fail ]  Found warnings/errors in server log file!
              Test ended at 2020-09-21 12:14:12
      line
      2020-09-21 12:14:06 9 [Warning] InnoDB: Trying to delete tablespace 'test/table0_int_autoinc' but there are 1 pending operations on it.
      

      This test is effectively disabled on our CI systems, because it is marked as big test, but the failure was rather easy to repeat on 10.3 and 10.4.

      This seems to have become more prominent after MDEV-23651 was fixed. The problem appears to be that fil_crypt_find_space_to_rotate() is not releasing the tablespace handle while waiting for I/O capacity, and fil_space_crypt_close_tablespace() is not waking up the threads that are in the waiting loop.

      Attachments

        Issue Links

          Activity

            In order to be able to reproduce this with https://rr-project.org/ I split part of the test case into a new test encryption.create_or_replace_big and made the ‘core’ test also compatible with the embedded server tests. Now the cleaned-up test encryption.create_or_replace should run on our CI systems.

            marko Marko Mäkelä added a comment - In order to be able to reproduce this with https://rr-project.org/ I split part of the test case into a new test encryption.create_or_replace_big and made the ‘core’ test also compatible with the embedded server tests. Now the cleaned-up test encryption.create_or_replace should run on our CI systems.
            marko Marko Mäkelä added a comment - - edited

            I do not remember seeing this failure in 10.2. I did not attempt repeating it on 10.2 either. I thought that the scenario is possible there and initially pushed the fix to 10.2 as well.

            The revival of the test encryption.create_or_replace (so that it is actually run on our CI system) caused failures of the test encryption.innodb-bad-key-change in 10.2 but not 10.3 or 10.4. It turned out that those failures were due to missing server initialization between the two tests and repeatable by invoking

            ./mtr --no-reorder encryption.create_or_replace,cbc encryption.innodb-bad-key-change,cbc
            

            I fixed the first test and re-applied the code fix to 10.2.

            marko Marko Mäkelä added a comment - - edited I do not remember seeing this failure in 10.2. I did not attempt repeating it on 10.2 either. I thought that the scenario is possible there and initially pushed the fix to 10.2 as well. The revival of the test encryption.create_or_replace (so that it is actually run on our CI system) caused failures of the test encryption.innodb-bad-key-change in 10.2 but not 10.3 or 10.4. It turned out that those failures were due to missing server initialization between the two tests and repeatable by invoking ./mtr --no-reorder encryption.create_or_replace,cbc encryption.innodb-bad-key-change,cbc I fixed the first test and re-applied the code fix to 10.2.

            People

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