diff --git a/db/db_impl.cc b/db/db_impl.cc index c1a4760b9..f22f13ae3 100644 --- a/db/db_impl.cc +++ b/db/db_impl.cc @@ -5493,22 +5493,6 @@ SuperVersion* DBImpl::GetAndRefSuperVersion(uint32_t column_family_id) { return GetAndRefSuperVersion(cfd); } -// REQUIRED: mutex is NOT held -SuperVersion* DBImpl::GetAndRefSuperVersionUnlocked(uint32_t column_family_id) { - ColumnFamilyData* cfd; - { - InstrumentedMutexLock l(&mutex_); - auto column_family_set = versions_->GetColumnFamilySet(); - cfd = column_family_set->GetColumnFamily(column_family_id); - } - - if (!cfd) { - return nullptr; - } - - return GetAndRefSuperVersion(cfd); -} - void DBImpl::ReturnAndCleanupSuperVersion(ColumnFamilyData* cfd, SuperVersion* sv) { bool unref_sv = !cfd->ReturnThreadLocalSuperVersion(sv); @@ -5539,22 +5523,6 @@ void DBImpl::ReturnAndCleanupSuperVersion(uint32_t column_family_id, ReturnAndCleanupSuperVersion(cfd, sv); } -// REQUIRED: Mutex should NOT be held. -void DBImpl::ReturnAndCleanupSuperVersionUnlocked(uint32_t column_family_id, - SuperVersion* sv) { - ColumnFamilyData* cfd; - { - InstrumentedMutexLock l(&mutex_); - auto column_family_set = versions_->GetColumnFamilySet(); - cfd = column_family_set->GetColumnFamily(column_family_id); - } - - // If SuperVersion is held, and we successfully fetched a cfd using - // GetAndRefSuperVersion(), it must still exist. - assert(cfd != nullptr); - ReturnAndCleanupSuperVersion(cfd, sv); -} - // REQUIRED: this function should only be called on the write thread or if the // mutex is held. ColumnFamilyHandle* DBImpl::GetColumnFamilyHandle(uint32_t column_family_id) { @@ -5567,20 +5535,6 @@ ColumnFamilyHandle* DBImpl::GetColumnFamilyHandle(uint32_t column_family_id) { return cf_memtables->GetColumnFamilyHandle(); } -// REQUIRED: mutex is NOT held. -ColumnFamilyHandle* DBImpl::GetColumnFamilyHandleUnlocked( - uint32_t column_family_id) { - ColumnFamilyMemTables* cf_memtables = column_family_memtables_.get(); - - InstrumentedMutexLock l(&mutex_); - - if (!cf_memtables->Seek(column_family_id)) { - return nullptr; - } - - return cf_memtables->GetColumnFamilyHandle(); -} - void DBImpl::GetApproximateSizes(ColumnFamilyHandle* column_family, const Range* range, int n, uint64_t* sizes, uint8_t include_flags) { diff --git a/db/db_impl.h b/db/db_impl.h index f27c358d8..ef258d645 100644 --- a/db/db_impl.h +++ b/db/db_impl.h @@ -138,7 +138,7 @@ class DBImpl : public DB { using DB::GetApproximateSizes; virtual void GetApproximateSizes(ColumnFamilyHandle* column_family, const Range* range, int n, uint64_t* sizes, - uint8_t include_flags + uint8_t include_flags = INCLUDE_FILES) override; using DB::CompactRange; virtual Status CompactRange(const CompactRangeOptions& options, @@ -431,9 +431,6 @@ class DBImpl : public DB { // mutex is held. SuperVersion* GetAndRefSuperVersion(uint32_t column_family_id); - // Same as above, should called without mutex held and not on write thread. - SuperVersion* GetAndRefSuperVersionUnlocked(uint32_t column_family_id); - // Un-reference the super version and return it to thread local cache if // needed. If it is the last reference of the super version. Clean it up // after un-referencing it. @@ -444,18 +441,11 @@ class DBImpl : public DB { // REQUIRED: this function should only be called on the write thread. void ReturnAndCleanupSuperVersion(uint32_t colun_family_id, SuperVersion* sv); - // Same as above, should called without mutex held and not on write thread. - void ReturnAndCleanupSuperVersionUnlocked(uint32_t colun_family_id, - SuperVersion* sv); - // REQUIRED: this function should only be called on the write thread or if the // mutex is held. Return value only valid until next call to this function or // mutex is released. ColumnFamilyHandle* GetColumnFamilyHandle(uint32_t column_family_id); - // Same as above, should called without mutex held and not on write thread. - ColumnFamilyHandle* GetColumnFamilyHandleUnlocked(uint32_t column_family_id); - // Returns the number of currently running flushes. // REQUIREMENT: mutex_ must be held when calling this function. int num_running_flushes() {