Fix flaky unit test in mempurge. (#14377)

Summary:
Add proper synchronization in mempurge unit test to fix flaky test

Pull Request resolved: https://github.com/facebook/rocksdb/pull/14377

Test Plan: Unit test

Reviewed By: nmk70

Differential Revision: D94153290

Pulled By: xingbowang

fbshipit-source-id: 2a2cdcc6f8b5500bb5e68d2d223255cd1a5660b3
This commit is contained in:
Xingbo Wang
2026-02-23 22:55:04 -08:00
committed by meta-codesync[bot]
parent e704352e5d
commit e7c3391640
+6
View File
@@ -1055,6 +1055,8 @@ TEST_F(DBFlushTest, MemPurgeBasic) {
ASSERT_EQ(Get(RNDKEY2), p_rv2);
ASSERT_EQ(Get(RNDKEY3), p_rv3);
// Wait for all flush callbacks to complete before closing
ASSERT_OK(dbfull()->TEST_WaitForFlushMemTable());
Close();
}
@@ -1169,6 +1171,8 @@ TEST_F(DBFlushTest, MemPurgeBasicToggle) {
// We expect no mempurge at all.
EXPECT_EQ(mempurge_count.exchange(0), ZERO);
// Wait for all flush callbacks to complete before closing
ASSERT_OK(dbfull()->TEST_WaitForFlushMemTable());
Close();
}
// End of MemPurgeBasicToggle, which is not
@@ -1425,6 +1429,8 @@ TEST_F(DBFlushTest, MemPurgeDeleteAndDeleteRange) {
delete iter;
}
// Wait for all flush callbacks to complete before closing
ASSERT_OK(dbfull()->TEST_WaitForFlushMemTable());
Close();
}