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

innodb.update_time failed in buildbot with wrong result

Details

    Description

      http://buildbot.askmonty.org/buildbot/builders/bld-starfs-release/builds/577/steps/test/logs/stdio

      innodb.update_time 'innodb'              w2 [ fail ]
              Test ended at 2017-12-16 10:01:56
       
      CURRENT_TEST: innodb.update_time
      --- /opt/buildbot-slave/mariadb/starfsmenn2/build/mysql-test/suite/innodb/r/update_time.result	2017-12-14 18:23:31.087061690 -0500
      +++ /opt/buildbot-slave/mariadb/starfsmenn2/build/mysql-test/suite/innodb/r/update_time.reject	2017-12-16 10:01:56.799233773 -0500
      @@ -29,7 +29,7 @@
       SELECT COUNT(*) FROM information_schema.innodb_buffer_page
       WHERE table_name = '`test`.`t`';
       COUNT(*)
      -0
      +1
       SELECT COUNT(*) FROM information_schema.tables WHERE table_name = 't'
       AND update_time IS NOT NULL;
       COUNT(*)
       
      mysqltest: Result content mismatch
      

      Attachments

        Activity

          The test contains an inherent race condition. If page flushing proceeds quicker than expected, then not all pages of the table might be evicted. This was rather easily repeatable in a 10.6-based branch that included the page flushing performance fix MDEV-26827.

          I tried to make the failure less probable by halving the buffer pool to the minimal size (innodb_buffer_pool_size=5M).

          marko Marko Mäkelä added a comment - The test contains an inherent race condition. If page flushing proceeds quicker than expected, then not all pages of the table might be evicted. This was rather easily repeatable in a 10.6-based branch that included the page flushing performance fix MDEV-26827 . I tried to make the failure less probable by halving the buffer pool to the minimal size ( innodb_buffer_pool_size=5M ).

          According to monty, this test still fails.

          On a closer look, I do not see the point of this test. The update_time is stored in the table metadata (dict_table_t); it has nothing to do with buffer pool page eviction or replacement. There is another test innodb.update_time_wl6658 that seems much more useful than this one.

          marko Marko Mäkelä added a comment - According to monty , this test still fails. On a closer look, I do not see the point of this test. The update_time is stored in the table metadata ( dict_table_t ); it has nothing to do with buffer pool page eviction or replacement. There is another test innodb.update_time_wl6658 that seems much more useful than this one.

          I removed the buffer pool related test. I retained a test that covers XA COMMIT after server restart.

          marko Marko Mäkelä added a comment - I removed the buffer pool related test . I retained a test that covers XA COMMIT after server restart.

          People

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