Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Not a Bug
-
10.0, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10
-
None
Description
Some time ago we discussed how overlay- and other rdiff-based-problems can seemingly disappear while debugging them, and I promised to provide an example. I don't insist that it has to be fixed, but want to get it off my TODO list, and now there is a good simple real-life example in 10.0 tree.
When MTR runs a test A with a combination B which has A,B.rdiff, it applies the rdiff to a result file and creates A,B.result~ file.
Being smart, MTR not only preserves the file after test execution, but it also intentionally does not re-generate it unless the base result file or rdiff file have changed.
It is all fine until we start debugging problems, e.g. failing hunks. Since the file does not get re-created, the 'failing hunk' problem does not re-appear when we are re-running tests, which makes us miss things (that was the reason why we had the discussion).
Now in 10.0 (as of 670b85804 and possibly long before) there is an rdiff which fails to apply:
$ perl ./mtr funcs_1.is_engines_innodb,innodb_plugin
|
...
|
==============================================================================
|
|
TEST RESULT TIME (ms) or COMMENT
|
--------------------------------------------------------------------------
|
|
worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
|
1 out of 1 hunk FAILED
|
funcs_1.is_engines_innodb 'innodb_plugin' [ pass ] 5
|
--------------------------------------------------------------------------
|
The servers were restarted 0 times
|
Spent 0.005 of 8 seconds executing testcases
|
|
Completed: All 1 tests were successful.
|
But if you re-run the same test again, no error anymore:
$ perl ./mtr funcs_1.is_engines_innodb,innodb_plugin
|
...
|
==============================================================================
|
|
TEST RESULT TIME (ms) or COMMENT
|
--------------------------------------------------------------------------
|
|
worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
|
funcs_1.is_engines_innodb 'innodb_plugin' [ pass ] 2
|
--------------------------------------------------------------------------
|
The servers were restarted 0 times
|
Spent 0.002 of 8 seconds executing testcases
|
|
Completed: All 1 tests were successful.
|
Attachments
Issue Links
- relates to
-
MDEV-27155 mysql-test-run.pl creates temporary result files in source directory after .rdiff files applying
- Open