break;
case kOptionsFile:
keep = (number >= optsfile_num2);
- TEST_SYNC_POINT_CALLBACK(
- "DBImpl::PurgeObsoleteFiles:CheckOptionsFiles:1",
- reinterpret_cast<void*>(&number));
- TEST_SYNC_POINT_CALLBACK(
- "DBImpl::PurgeObsoleteFiles:CheckOptionsFiles:2",
- reinterpret_cast<void*>(&keep));
break;
case kCurrentFile:
case kDBLockFile:
TEST_F(ObsoleteFilesTest, DeleteObsoleteOptionsFile) {
ReopenDB();
- SyncPoint::GetInstance()->DisableProcessing();
- std::vector<uint64_t> optsfiles_nums;
- std::vector<bool> optsfiles_keep;
- SyncPoint::GetInstance()->SetCallBack(
- "DBImpl::PurgeObsoleteFiles:CheckOptionsFiles:1", [&](void* arg) {
- optsfiles_nums.push_back(*reinterpret_cast<uint64_t*>(arg));
- });
- SyncPoint::GetInstance()->SetCallBack(
- "DBImpl::PurgeObsoleteFiles:CheckOptionsFiles:2", [&](void* arg) {
- optsfiles_keep.push_back(*reinterpret_cast<bool*>(arg));
- });
- SyncPoint::GetInstance()->EnableProcessing();
createLevel0Files(2, 50000);
CheckFileTypeCounts(wal_dir_, 1, 0, 0);
}
}
ASSERT_OK(dbfull()->EnableFileDeletions(true /* force */));
- ASSERT_EQ(optsfiles_nums.size(), optsfiles_keep.size());
Close();