Fix unittest ExternalSSTFileBasicTest.StableSnapshotWhileLoggingToManifest (#10066)

Summary:
Fix the unittest `ExternalSSTFileBasicTest.StableSnapshotWhileLoggingToManifest` introduced in https://github.com/facebook/rocksdb/issues/10051 that is failing.

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

Test Plan: CI

Reviewed By: ajkr

Differential Revision: D36720669

Pulled By: cbi42

fbshipit-source-id: 47a6d2c161f27b605ede5c62d1776eecaf0d5363
main
Changyu Bi 3 years ago committed by Facebook GitHub Bot
parent a0f391cafc
commit 9baeef712f
  1. 7
      db/external_sst_file_basic_test.cc

@ -1941,9 +1941,8 @@ TEST_F(ExternalSSTFileBasicTest, StableSnapshotWhileLoggingToManifest) {
const Snapshot* snapshot = nullptr; const Snapshot* snapshot = nullptr;
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->SetCallBack( ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->SetCallBack(
"VersionSet::LogAndApply:WriteManifest", [&](void* /* arg */) { "VersionSet::LogAndApply:WriteManifest", [&](void* /* arg */) {
// Prevent memory leak: this callback may be called multiple times // prevent background compaction job to call this callback
// and previous snapshot need to be freed ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->DisableProcessing();
db_->ReleaseSnapshot(snapshot);
snapshot = db_->GetSnapshot(); snapshot = db_->GetSnapshot();
ReadOptions read_opts; ReadOptions read_opts;
read_opts.snapshot = snapshot; read_opts.snapshot = snapshot;
@ -1965,10 +1964,8 @@ TEST_F(ExternalSSTFileBasicTest, StableSnapshotWhileLoggingToManifest) {
std::string value; std::string value;
ASSERT_OK(db_->Get(read_opts, "k", &value)); ASSERT_OK(db_->Get(read_opts, "k", &value));
ASSERT_EQ(kPutVal, value); ASSERT_EQ(kPutVal, value);
db_->ReleaseSnapshot(snapshot); db_->ReleaseSnapshot(snapshot);
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->DisableProcessing();
// After reopen, sequence number should be up current such that // After reopen, sequence number should be up current such that
// ingested value is read // ingested value is read
Reopen(CurrentOptions()); Reopen(CurrentOptions());

Loading…
Cancel
Save