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

innodb.doublewrite_debug test case fails to start the server

Details

    Description

      innodb.doublewrite_debug '16k,strict_full_crc32' w58 [ fail ]

       
      Test ended at 2025-01-15 13:37:20
      CURRENT_TEST: innodb.doublewrite_debug
      mysqltest: At line 91: query 'select f1, f2 from t1' failed: ER_UNKNOWN_STORAGE_ENGINE (1286): Unknown storage engine 'InnoDB'
      The result from queries just before the failure was:
      < snip >
      begin;
      insert into t1 values (6, repeat('%', 400));
      # Make the first page dirty for system tablespace
      set global innodb_saved_page_number_debug = 0;
      set global innodb_fil_make_page_dirty_debug = 0;
      # Make the second page dirty for system tablespace
      set global innodb_saved_page_number_debug = 1;
      set global innodb_fil_make_page_dirty_debug = 0;
      set global innodb_buf_flush_list_now = 1;
      # Kill the server
      # Make the 1st page (page_no=0) and 2nd page (page_no=1)
      # of the system tablespace all zeroes.
      # restart
      NOT FOUND /InnoDB: Recovered page \[page id: space=0, page number=0\]/ in mysqld.1.err
      NOT FOUND /InnoDB: Recovered page \[page id: space=0, page number=1\]/ in mysqld.1.err
      check table t1;
      Table	Op	Msg_type	Msg_text
      test.t1	check	Error	Unknown storage engine 'InnoDB'
      test.t1	check	error	Corrupt
      select f1, f2 from t1;
      More results from queries before failure can be found in /home/buildbot/amd64-debian-11-msan-clang-16/build/mysql-test/var/58/log/doublewrite_debug.log
       - saving '/home/buildbot/amd64-debian-11-msan-clang-16/build/mysql-test/var/58/log/innodb.doublewrite_debug-16k,strict_full_crc32/' to '/home/buildbot/amd64-debian-11-msan-clang-16/build/mysql-test/var/log/innodb.doublewrite_debug-16k,strict_full_crc32/'
      ***Warnings generated in error logs during shutdown after running tests: innodb.doublewrite_debug
      2025-01-15 13:37:19 0 [ERROR] InnoDB: The data file './ibdata1' has the wrong space ID. It should be 0, but 0 was found
      2025-01-15 13:37:19 0 [ERROR] InnoDB: Plugin initialization aborted at srv0start.cc[1370] with error Data structure corruption
      2025-01-15 13:37:19 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
      

      Downloaded the data directory from https://buildbot.mariadb.org/#/builders/640/builds/8527/steps/7/logs/stdio

      Looks like ibdata1 page 0 and 1 as full of zeroes as expected. But in dblwr, we don't have
      page 0 during find_page(). buf_dblwr_t::init_or_load_pages() fails to load page0 since the page lsn is less than checkpoint lsn.

      From test case, it looks like:

      set global innodb_buf_flush_list_now = 1;
       
      --let CLEANUP_IF_CHECKPOINT=drop table t1, unexpected_checkpoint;
      --source ../include/no_checkpoint_end.inc
      

      we're making sure that there is no checkpoint happened. May be we failed to flush the page0 into doublewrite buffer. I tried to repeat the scenario many times and failed.

      Attachments

        Activity

          There are no comments yet on this issue.

          People

            Unassigned Unassigned
            thiru Thirunarayanan Balathandayuthapani
            Votes:
            0 Vote for this issue
            Watchers:
            1 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.