-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Server Programmability
-
Fully Compatible
-
Programmability 2024-10-14, Programmability 2024-10-28, Programmability 2024-11-11
EINTR is a fact of life on unix-like systems, but our tests (at all levels of testing) rarely if ever exercise this case, and if they do, they do so accidentally. In addition, we have some limited coverage of SIGUSR2 (the dump thread stacks signal), but we should have tests that can send the signal at any time.
To test EINTR support, we can create a background thread in the mongo
{d,s}processes themselves that randomly sends signals to threads. The background thread can be enabled by a failpoint set at startup time via --setParameter.
We should add the following functionality to the config fuzzer:
- Force threads in mongo processes to handle signals at random intervals using both a background thread and an external process sending SIGUSR2 to mongo processes in the config fuzzer.
- causes
-
SERVER-97612 Signal testing thread needs to start before signal processing thread
- Closed
- is depended on by
-
SERVER-96106 Add EINTR/SIGUSR2 tests to config fuzzer
- Closed