From 4561275c2dc0874795697521f6684c167a3c98e9 Mon Sep 17 00:00:00 2001 From: Andrew Kryczka Date: Fri, 3 Mar 2017 11:00:46 -0800 Subject: [PATCH] fix rate limiter test flakiness Summary: fix when elapsed time spans non-integral number of intervals since the rate limiter may still be drained during a partial interval. Closes https://github.com/facebook/rocksdb/pull/1948 Differential Revision: D4651304 Pulled By: ajkr fbshipit-source-id: b1f9e70 --- db/db_test.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/db/db_test.cc b/db/db_test.cc index ee280223c..c939ef191 100644 --- a/db/db_test.cc +++ b/db/db_test.cc @@ -2824,7 +2824,7 @@ TEST_F(DBTest, RateLimitingTest) { // Most intervals should've been drained (interval time is 100ms, elapsed is // micros) ASSERT_GT(rate_limiter_drains, elapsed / 100000 / 2); - ASSERT_LE(rate_limiter_drains, elapsed / 100000); + ASSERT_LE(rate_limiter_drains, elapsed / 100000 + 1); double ratio = env_->bytes_written_ * 1000000 / elapsed / raw_rate; fprintf(stderr, "write rate ratio = %.2lf, expected 0.7\n", ratio); ASSERT_TRUE(ratio < 0.8); @@ -2850,7 +2850,7 @@ TEST_F(DBTest, RateLimitingTest) { // Most intervals should've been drained (interval time is 100ms, elapsed is // micros) ASSERT_GT(rate_limiter_drains, elapsed / 100000 / 2); - ASSERT_LE(rate_limiter_drains, elapsed / 100000); + ASSERT_LE(rate_limiter_drains, elapsed / 100000 + 1); ratio = env_->bytes_written_ * 1000000 / elapsed / raw_rate; fprintf(stderr, "write rate ratio = %.2lf, expected 0.5\n", ratio); ASSERT_LT(ratio, 0.6);