[MDEV-8859] rpl.rpl_mdev382 sporadically fails to finish due to disappeared expect file Created: 2015-09-28 Updated: 2016-06-12 Resolved: 2016-06-12 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Tests |
| Affects Version/s: | 5.5 |
| Fix Version/s: | 5.5.50 |
| Type: | Bug | Priority: | Major |
| Reporter: | Elena Stepanova | Assignee: | Elena Stepanova |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Sprint: | 5.5.50 | ||||||||
| Description |
|
http://buildbot.askmonty.org/buildbot/builders/kvm-deb-precise-x86/builds/2982/steps/test_4/logs/mysqld.1.err.3 In the test output, it looks like this:
After that, the worker does not do anything anymore, and at the end MTR complains
We know it's rpl.rpl_mdev382 because it's the last test in the corresponding server error log:
The test only does restart once, and does it seemingly accurate: it writes "wait", then shuts down the server, then removes the file, then writes "restart". For now, I don't see why it's happening. |
| Comments |
| Comment by Elena Stepanova [ 2016-06-11 ] | |||||||||||||||||||||||||||||||||
|
Relatively fresh occasion on 5.5-galera (Feb 17, 2016): So, it's not specific either to 32-bit platform or the particular builder. | |||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2016-06-11 ] | |||||||||||||||||||||||||||||||||
|
There are 5 http://buildbot.askmonty.org/buildbot/builders/labrador/builds/5554 (bb-10.0-serg) All but one are on 5.5 trees. It starts getting strange – given that 10.x have many more pushes and test runs, it should hit the problem more frequently. | |||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2016-06-11 ] | |||||||||||||||||||||||||||||||||
|
Occasions on p8: http://buildbot.askmonty.org/buildbot/builders/p8-rhel7-bintar/builds/304 http://buildbot.askmonty.org/buildbot/builders/p8-rhel7-bintar-debug/builds/1036 (maybe there are more, didn't check vlp04-06). | |||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2016-06-11 ] | |||||||||||||||||||||||||||||||||
|
Reproduced locally on 5.5.44 release build by running perl ./mtr rpl.rpl_mdev382 --repeat=100 | |||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2016-06-12 ] | |||||||||||||||||||||||||||||||||
|
The failure is very easily and reliably reproducible with this change:
The problem is that after finding mysqld.1.expect file containing wait, mysql-test-run.pl keeps reading it in a loop. So, there is a short window between remove and write when the file does not exist, if MTR happens to attempt to read at this moment, the failure occurs. The fix is to use append_file instead.
So it's a 5.5-only fix. | |||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2016-06-12 ] | |||||||||||||||||||||||||||||||||
|
https://github.com/MariaDB/server/commit/67b4a6f576db102d652b401c3d0150556826f641 |