Skip to content

Commit d5de22d

Browse files
committed
Call PurgeObsoleteFiles() only when HaveSomethingToDelete()
Summary: as title Test Plan: fixed the build failure http://ci-builds.fb.com/job/rocksdb_build/987/console Reviewers: haobo Reviewed By: haobo CC: leveldb Differential Revision: https://reviews.facebook.net/D16743
1 parent 9db8c4c commit d5de22d

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

db/db_impl.cc

+12-4
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,9 @@ DBImpl::~DBImpl() {
361361
FindObsoleteFiles(deletion_state, true);
362362
// manifest number starting from 2
363363
deletion_state.manifest_file_number = 1;
364-
PurgeObsoleteFiles(deletion_state);
364+
if (deletion_state.HaveSomethingToDelete()) {
365+
PurgeObsoleteFiles(deletion_state);
366+
}
365367
}
366368
}
367369

@@ -780,7 +782,9 @@ void DBImpl::DeleteObsoleteFiles() {
780782
mutex_.AssertHeld();
781783
DeletionState deletion_state;
782784
FindObsoleteFiles(deletion_state, true);
783-
PurgeObsoleteFiles(deletion_state);
785+
if (deletion_state.HaveSomethingToDelete()) {
786+
PurgeObsoleteFiles(deletion_state);
787+
}
784788
}
785789

786790
// 1. Go through all archived files and
@@ -2782,7 +2786,9 @@ static void CleanupIteratorState(void* arg1, void* arg2) {
27822786
state->mu->Unlock();
27832787

27842788
delete state->super_version;
2785-
state->db->PurgeObsoleteFiles(deletion_state);
2789+
if (deletion_state.HaveSomethingToDelete()) {
2790+
state->db->PurgeObsoleteFiles(deletion_state);
2791+
}
27862792
}
27872793

27882794
delete state;
@@ -3759,7 +3765,9 @@ Status DBImpl::DeleteFile(std::string name) {
37593765
} // lock released here
37603766
LogFlush(options_.info_log);
37613767
// remove files outside the db-lock
3762-
PurgeObsoleteFiles(deletion_state);
3768+
if (deletion_state.HaveSomethingToDelete()) {
3769+
PurgeObsoleteFiles(deletion_state);
3770+
}
37633771
{
37643772
MutexLock l(&mutex_);
37653773
// schedule flush if file deletion means we freed the space for flushes to

0 commit comments

Comments
 (0)