If a DEBUG_SYNC signal is overwritten before the target thread acknowledges the signal, the thread will become stuck (until timeout) due to awaiting the missed signal. rpl.rpl_seconds_behind_master_spike highlights this problem with an example fix commit cdf19cd.
Other tests which may be impacted by this issue are rpl.rpl_dump_request_retry_warning, main.query_cache_debug, and main.partition_debug_sync. A comprehensive list of effected tests should be created, and then they should be fixed.
The following is an (ongoing) list of tests which are potentially impacted by this race condition along with a message if fixed. Note that part of this work extended the debug_sync mechanism to automatically detect when an unacknowledged signal is overwritten or reset, and this list contains all tests which fail from that detection:
- rpl.rpl_seconds_behind_master_spike (fixed)
- rpl.rpl_dump_request_retry_warning (fixed)
- main.query_cache_debug (fixed)
- main.partition_debug_sync (fixed)