[MDEV-4396] Fix innodb.innodb_bug14676111 test Created: 2013-04-15  Updated: 2017-03-05  Resolved: 2014-11-03

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB, Storage Engine - XtraDB
Affects Version/s: None
Fix Version/s: 10.0.3, 5.5.31, 10.0.15

Type: Bug Priority: Major
Reporter: Sergei Golubchik Assignee: Jan Lindström (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Problem/Incident
causes MDEV-11802 innodb.innodb_bug14676111 fails in bu... Closed

 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.



 Comments   
Comment by Kristian Nielsen [ 2013-04-19 ]

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?

Comment by Kristian Nielsen [ 2013-04-22 ]

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 ...

Comment by Kristian Nielsen [ 2013-04-22 ]

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.

Comment by Michael Widenius [ 2013-06-04 ]

Opened to change priority

Comment by Sergei Golubchik [ 2014-05-06 ]

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

Comment by Jan Lindström (Inactive) [ 2014-11-03 ]

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.

Generated at Thu Feb 08 06:56:06 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.