Details

      Description

      This test is (in 10.0.2 at least) unstable. Sometimes SELECT returns incorrect number of pages, namely from before the operation. But if the test is modified to repeat the same SELECT many (e.g. 10) times, then one can see that the number of pages eventually changes to the correct one. There's obviously a race condition here.

      One way of fixing the test is to use include/wait_condition.inc and wait for the number of pages to reach the correct value. If the test times out, it would mean a bug.

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            knielsen Kristian Nielsen added a comment -

            I do not understand the suggested fix. All the failures I see in the buildbot test failure database start with this:

            +Timeout in wait_condition.inc for SELECT VARIABLE_VALUE < 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS
            +WHERE VARIABLE_NAME = 'INNODB_PURGE_TRX_ID_AGE'
            +Id User Host db Command Time State Info Progress
            +1 root localhost test Query 0 NULL show full processlist 0.000

            So there is already a timeout in a wait_condition, I do not understand how adding another condition can fix this?

            Show
            knielsen Kristian Nielsen added a comment - I do not understand the suggested fix. All the failures I see in the buildbot test failure database start with this: +Timeout in wait_condition.inc for SELECT VARIABLE_VALUE < 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS +WHERE VARIABLE_NAME = 'INNODB_PURGE_TRX_ID_AGE' +Id User Host db Command Time State Info Progress +1 root localhost test Query 0 NULL show full processlist 0.000 So there is already a timeout in a wait_condition, I do not understand how adding another condition can fix this?
            Hide
            knielsen Kristian Nielsen added a comment -

            Ok, I think I found it.
            The test manipulates how purge is done, but the manipulating, debug-only code only works for main thread purge, not for background thread purge.
            And while plain innodb has innodb_purge_threads=0 by default, xtradb has it default to 1.

            Testing a fix now ...

            Show
            knielsen Kristian Nielsen added a comment - Ok, I think I found it. The test manipulates how purge is done, but the manipulating, debug-only code only works for main thread purge, not for background thread purge. And while plain innodb has innodb_purge_threads=0 by default, xtradb has it default to 1. Testing a fix now ...
            Hide
            knielsen Kristian Nielsen added a comment -

            Fix pushed to 5.5.

            The fix is to explicitly set innodb_purge_threads=0 for this test case. Since xtradb defaults to 1, and the debug code used by the test does not work correctly with background purge.

            Show
            knielsen Kristian Nielsen added a comment - Fix pushed to 5.5. The fix is to explicitly set innodb_purge_threads=0 for this test case. Since xtradb defaults to 1, and the debug code used by the test does not work correctly with background purge.
            Hide
            monty Michael Widenius added a comment -

            Opened to change priority

            Show
            monty Michael Widenius added a comment - Opened to change priority
            Hide
            serg Sergei Golubchik added a comment -

            The test is still disabled in 10.0. When I enable it — it still fails.

            Show
            serg Sergei Golubchik added a comment - The test is still disabled in 10.0. When I enable it — it still fails.
            Hide
            jplindst Jan Lindström added a comment -

            revno: 4471
            committer: Jan Lindström <jplindst@mariadb.org>
            branch nick: 10.0-bugs
            timestamp: Mon 2014-11-03 15:47:57 +0200
            message:
            MDEV-4396: Fix innodb.innodb_bug14676111 test.

            Show
            jplindst Jan Lindström added a comment - revno: 4471 committer: Jan Lindström <jplindst@mariadb.org> branch nick: 10.0-bugs timestamp: Mon 2014-11-03 15:47:57 +0200 message: MDEV-4396 : Fix innodb.innodb_bug14676111 test.

              People

              • Assignee:
                jplindst Jan Lindström
                Reporter:
                serg Sergei Golubchik
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: