diff --git a/db/db_impl.cc b/db/db_impl.cc index a197ca5c8..4aba14c60 100644 --- a/db/db_impl.cc +++ b/db/db_impl.cc @@ -1324,6 +1324,11 @@ Status DBImpl::DropColumnFamilyImpl(ColumnFamilyHandle* column_family) { &edit, &mutex_); write_thread_.ExitUnbatched(&w); } + if (s.ok()) { + auto* mutable_cf_options = cfd->GetLatestMutableCFOptions(); + max_total_in_memory_state_ -= mutable_cf_options->write_buffer_size * + mutable_cf_options->max_write_buffer_number; + } if (!cf_support_snapshot) { // Dropped Column Family doesn't support snapshot. Need to recalculate @@ -1345,9 +1350,6 @@ Status DBImpl::DropColumnFamilyImpl(ColumnFamilyHandle* column_family) { // later inside db_mutex. EraseThreadStatusCfInfo(cfd); assert(cfd->IsDropped()); - auto* mutable_cf_options = cfd->GetLatestMutableCFOptions(); - max_total_in_memory_state_ -= mutable_cf_options->write_buffer_size * - mutable_cf_options->max_write_buffer_number; ROCKS_LOG_INFO(immutable_db_options_.info_log, "Dropped column family with id %u\n", cfd->GetID()); } else {