Increase wait time in DBTest.SanitizeNumThreads (#4659)

Summary:
DBTest.SanitizeNumThreads Sometimes fails. The test waited for 10ms timeout and expect all threads scheduled to be executed. This can be a source of flakiness. Make a check every 1ms and up to 10s.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4659

Differential Revision: D13074174

Pulled By: siying

fbshipit-source-id: b1d5ff87a326a4fc9eab8d1cc307bbb940dfe70c
This commit is contained in:
Siying Dong 2018-11-14 16:17:36 -08:00 committed by Facebook Github Bot
parent c2a20f1776
commit f5c8cf5fed

View File

@ -3512,8 +3512,14 @@ TEST_F(DBTest, SanitizeNumThreads) {
(i < 4) ? Env::Priority::LOW : Env::Priority::HIGH); (i < 4) ? Env::Priority::LOW : Env::Priority::HIGH);
} }
// Wait 100 milliseconds for they are scheduled. // Wait until 10s for they are scheduled.
env_->SleepForMicroseconds(100000); for (int i = 0; i < 10000; i++) {
if (options.env->GetThreadPoolQueueLen(Env::Priority::LOW) <= 1 &&
options.env->GetThreadPoolQueueLen(Env::Priority::HIGH) <= 2) {
break;
}
env_->SleepForMicroseconds(1000);
}
// pool size 3, total task 4. Queue size should be 1. // pool size 3, total task 4. Queue size should be 1.
ASSERT_EQ(1U, options.env->GetThreadPoolQueueLen(Env::Priority::LOW)); ASSERT_EQ(1U, options.env->GetThreadPoolQueueLen(Env::Priority::LOW));