Skip to content

Commit 17702ce

Browse files
author
caijieming
committed
support multi-thread compaction
1 parent aeacdf6 commit 17702ce

1 file changed

Lines changed: 6 additions & 8 deletions

File tree

src/leveldb/db/db_impl.cc

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -949,17 +949,15 @@ Status DBImpl::RecoverInsertMem(WriteBatch* batch, VersionEdit* edit) {
949949
Status DBImpl::RecoverLastDumpToLevel0(VersionEdit* edit) {
950950
MutexLock lock(&mutex_);
951951
Status s;
952-
if (recover_mem_ == NULL) {
953-
DeleteObsoleteFiles();
954-
MaybeScheduleCompaction();
955-
return s;
956-
}
957-
if (recover_mem_->GetLastSequence() > 0) {
952+
if (recover_mem_ != NULL) {
953+
if (recover_mem_->GetLastSequence() > 0) {
958954
edit->SetLastSequence(recover_mem_->GetLastSequence());
959955
s = WriteLevel0Table(recover_mem_, edit, NULL);
956+
}
957+
recover_mem_->Unref();
958+
recover_mem_ = NULL;
960959
}
961-
recover_mem_->Unref();
962-
recover_mem_ = NULL;
960+
assert(recover_mem_ == NULL);
963961

964962
// LogAndApply to lg's manifest
965963
if (s.ok()) {

0 commit comments

Comments
 (0)