Bug #46996 mtr.test_suppressions table sometimes gets emptied during or after rpl test
Submitted: 29 Aug 2009 21:59 Modified: 9 Feb 2010 11:54
Reporter: Bjørn Munch Email Updates:
Status: Won't fix Impact on me:
None 
Category:Tools: MTR / mysql-test-run Severity:S3 (Non-critical)
Version:5.1, 5.4 OS:Any
Assigned to: Bjørn Munch CPU Architecture:Any

[29 Aug 2009 21:59] Bjørn Munch
Description:
During some rpl tests, the contents of the mtr.test_suppressions table is somehow emptied, so an entry added at the top of the test doesn't "work".

Even worse, in some cases (rpl_bug41902 and rpl_do_grant) it's lost even if added at the very end of the test. That means warning/error suppression is impossible unless done globally.

How to repeat:
Run test rpl.rpl_bug41902; the error it finds has not been globally suppressed.
[29 Aug 2009 22:00] Bjørn Munch
I disable rpl.rpl_bug41902.
[31 Aug 2009 10:39] Bjørn Munch
I also disable rpl_slave_load_remove_tmpfile for the same reason.

rpl_backup_multi *sometimes* show the same problem. It seems quite random and is observed both in the gcov run in PB2 and on my own Solaris 10 desktop. I disabled this too.

Note that one thing is common to all these three tests: they are only run on debug binaries.
[1 Sep 2009 10:08] Bjørn Munch
I know what happens, this shows the problem of storing test meta-data into the database being tested.

mtr runs the test check-warnings on each of the servers at the end of the test, the problem is that this reads the test_suppressions table from *that* database. But the call to mtr.add_suppressions has only inserted this in the database the test happened to be connected to at the time.

A workaround is for the test to explicitly connect to each server and repeat the add_suppressions call (tested this for rpl_bug41902), but we need to find some general solution.
[1 Sep 2009 10:38] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/82096

2847 Bjorn Munch	2009-09-01
      Bug #46996 mtr.test_suppressions table sometimes gets emptied during or after rpl test
      Implemented work-around, un-disabled affected tests
[13 Oct 2009 8:53] Bjørn Munch
Can only reasonably be fixed by a complete rewrite
[9 Feb 2010 11:54] Bjørn Munch
This will not be fixed, but as commented, the problem will go away if we replace the whole warning/error parsing in the future.
[12 Feb 2010 10:35] Magnus Blåudd
There will also be a printout after the test saying it had side effects