diff --git a/db/column_family.cc b/db/column_family.cc index da4cc7311972fecd90fface6b79febef40c2ce0f..4592c945f2e761c274ad52b05ce253eac10b567f 100644 --- a/db/column_family.cc +++ b/db/column_family.cc @@ -63,9 +63,14 @@ ColumnFamilyHandleImpl::~ColumnFamilyHandleImpl() { JobContext job_context(0); mutex_->Lock(); if (cfd_->Unref()) { + bool dropped = cfd_->IsDropped(); + delete cfd_; + + if (dropped) { + db_->FindObsoleteFiles(&job_context, false, true); + } } - db_->FindObsoleteFiles(&job_context, false, true); mutex_->Unlock(); if (job_context.HaveSomethingToDelete()) { bool defer_purge =