]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commitdiff
make DropWritesFlush deterministic
authorLei Jin <lei@fb.com>
Fri, 7 Nov 2014 00:07:07 +0000 (16:07 -0800)
committerLei Jin <lei@fb.com>
Fri, 7 Nov 2014 00:07:07 +0000 (16:07 -0800)
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

index e1818a8a576934198788937b90cbdb85eb98d512..fd4dd17a117a1ebf7d47ea592b75a1f96b70b486 100644 (file)
@@ -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);