Details
Description
CompactionExecutorTest has a race between the runnable/callable under test completing
and the afterExecute method stashing it for the test. Replace the wait/sleep loop
with a SimpleCondition that is signaled once the test task throwable has been recorded.
This seems fairly hard to hit but has happened on CI. It took about 2600 iterations on my MacBook to trigger, but you can artificially hit frequently by adding a sleep at the start of the afterExecute method.