Move WAL-closing loop out of original loop (#5804)
Summary: Originally the loop of closing WAL in PurgeObsoleteFiles resides inside a loop iterating over the candidate files. It should be moved out. Test plan (devserver) ``` $COMPILE_WITH_ASAN=1 make -j32 all $make check ``` Pull Request resolved: https://github.com/facebook/rocksdb/pull/5804 Differential Revision: D17374350 Pulled By: riversand963 fbshipit-source-id: 2bee7343fc0481d9a385a87c7676491522285c96
This commit is contained in:
parent
43a340bebe
commit
6d072f2a03
@ -379,6 +379,12 @@ void DBImpl::PurgeObsoleteFiles(JobContext& state, bool schedule_only) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Close WALs before trying to delete them.
|
||||||
|
for (const auto w : state.logs_to_free) {
|
||||||
|
// TODO: maybe check the return value of Close.
|
||||||
|
w->Close();
|
||||||
|
}
|
||||||
|
|
||||||
std::unordered_set<uint64_t> files_to_del;
|
std::unordered_set<uint64_t> files_to_del;
|
||||||
for (const auto& candidate_file : candidate_files) {
|
for (const auto& candidate_file : candidate_files) {
|
||||||
const std::string& to_delete = candidate_file.file_name;
|
const std::string& to_delete = candidate_file.file_name;
|
||||||
@ -478,11 +484,6 @@ void DBImpl::PurgeObsoleteFiles(JobContext& state, bool schedule_only) {
|
|||||||
}
|
}
|
||||||
#endif // !ROCKSDB_LITE
|
#endif // !ROCKSDB_LITE
|
||||||
|
|
||||||
for (const auto w : state.logs_to_free) {
|
|
||||||
// TODO: maybe check the return value of Close.
|
|
||||||
w->Close();
|
|
||||||
}
|
|
||||||
|
|
||||||
Status file_deletion_status;
|
Status file_deletion_status;
|
||||||
if (schedule_only) {
|
if (schedule_only) {
|
||||||
InstrumentedMutexLock guard_lock(&mutex_);
|
InstrumentedMutexLock guard_lock(&mutex_);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user