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

Race condition in the test innodb.doublewrite

    XMLWordPrintable

    Details

      Description

      MDEV-26626 exposed the following failure on my system, when running a 32-bit build:

      ./mtr --rr innodb.doublewrite,4k,strict_full_crc32
      

      10.6 106b16a5af7a8e29889e0ef8930bd2901a9ad00e

      innodb.doublewrite '4k,innodb,strict_full_crc32' [ fail ]
              Test ended at 2021-09-17 08:28:10
       
      CURRENT_TEST: innodb.doublewrite
      mysqltest: At line 192: query 'select f1, f2 from t1' failed: ER_UNKNOWN_STORAGE_ENGINE (1286): Unknown storage engine 'InnoDB'
      

      If I revert the MDEV-26626 fix, the failure goes away. The test does not fail in the 10.5 branch for me. The cause of the failure appears to be that a write of a page that the test is intentionally corrupting was missed before recovery:

      10.6 106b16a5af7a8e29889e0ef8930bd2901a9ad00e

      2021-09-17  8:28:09 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=58220,58446
      2021-09-17  8:28:09 0 [ERROR] InnoDB: Cannot apply log to [page id: space=5, page number=0] of corrupted file './test/t1.ibd'
      

      At first, I was suspecting that the debug variable innodb_buf_flush_list_now is not working reliably, but the function buf_flush_sync() does appear to write out all pages from the buffer pool before the server was killed and restarted.

      The failure has not occured on any CI system yet, and it does not fail reliably for me when not using rr. Initially, it did fail without rr for the strict_full_crc32 combinations, for the 32-bit build.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              thiru Thirunarayanan Balathandayuthapani
              Reporter:
              marko Marko Mäkelä
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration