-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Test CPPsuite
-
3
-
StorEng - Defined Pipeline
The cppsuite provides a configuration field op_rate for database operations to determine how frequently they're performed. It acts as a throttle for each worker thread to sleep for the amount of time specified by the op_rate until the worker thread stops running.
At the end of a test run, the thread manager attempts to join all the worker threads. However, with the current implementation, if a thread is still sleeping for the time set by op_rate, the main test thread must wait until it wakes up. This is problematic if op_rate is set for an extended period of time. For example, if a test runs for 10 minutes and the op_rate for checkpoint is set for 5 minutes. The test cleanup will take another 5 minutes to wait for the checkpoint thread to wake up and exit.
We should improve how the worker thread sleep method handles this.