Commit 7ca4e1b
committed
PS-9328: Fix sporadic rpl.rpl_backup_locked_by_applier test failures.
Fixed sporadic rpl.rpl_backup_locked_by_applier test failures which were
caused by race condition in the test case.
Logic of the test assumes that conditional debug sync point in
Rpl_applier_reader::purge_applied_logs(), which is used in this test,
is supposed to be activated only once, when replication thread reaches
it for the first time. The test case waits for this event, runs some
commands to check that backup lock can't be taken, and then resumes
execution of replication thread. After that it disables this conditional
sync point.
However, if replication thread manages to reach this sync point for the
second time, after test has resumed its execution and right before
conditional sync point is disabled, it will wait on sync point until
timeout is reached. As result the fact that debug sync point was reached
but not handled will be detected during post test case check and cause
its failure.
We fix this problem by moving disabling conditional sync point before
we resume replication thread execution when sync point is reached for
the first time.
The fix is applied to both 8.0 and 8.4 trees, since they are both
affected.1 parent 646a7cf commit 7ca4e1b
File tree
2 files changed
+3
-3
lines changed- mysql-test/suite/rpl
- r
- t
2 files changed
+3
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
27 | 26 | | |
| 27 | + | |
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
55 | | - | |
56 | 54 | | |
57 | 55 | | |
58 | 56 | | |
| 57 | + | |
| 58 | + | |
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| |||
0 commit comments