From 64d302d304a87bd76e9bca4b1c08a368e58f0e26 Mon Sep 17 00:00:00 2001 From: Lei Jin Date: Thu, 6 Nov 2014 16:07:07 -0800 Subject: [PATCH] make DropWritesFlush deterministic Summary: TEST_WaitForFlush should wait until it sees error when parameter is set to true so we don't need to loop and timeout Test Plan: ROCKSDB_TESTS=DropWritesFlush ./db_test Reviewers: sdong, igor Reviewed By: sdong Subscribers: dhruba, leveldb Differential Revision: https://reviews.facebook.net/D28419 --- db/db_test.cc | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/db/db_test.cc b/db/db_test.cc index e1818a8a5..fd4dd17a1 100644 --- a/db/db_test.cc +++ b/db/db_test.cc @@ -5840,21 +5840,9 @@ TEST(DBTest, DropWritesFlush) { ASSERT_TRUE(db_->GetProperty("rocksdb.background-errors", &property_value)); ASSERT_EQ("0", property_value); - dbfull()->TEST_FlushMemTable(false); - - // Wait 300 milliseconds or background-errors turned 1 from 0. - int time_to_sleep_limit = 300000; - while (time_to_sleep_limit > 0) { - int to_sleep = (time_to_sleep_limit > 1000) ? 1000 : time_to_sleep_limit; - time_to_sleep_limit -= to_sleep; - env_->SleepForMicroseconds(to_sleep); - - ASSERT_TRUE( - db_->GetProperty("rocksdb.background-errors", &property_value)); - if (property_value == "1") { - break; - } - } + dbfull()->TEST_FlushMemTable(true); + + ASSERT_TRUE(db_->GetProperty("rocksdb.background-errors", &property_value)); ASSERT_EQ("1", property_value); env_->drop_writes_.store(false, std::memory_order_release);