| /rocksdb-6.9/db/ |
| D | column_family.cc | 406 int SuperVersion::dummy = 0; 407 void* const SuperVersion::kSVInUse = &SuperVersion::dummy; 410 SuperVersion::~SuperVersion() { in ~SuperVersion() 416 SuperVersion* SuperVersion::Ref() { in Ref() 421 bool SuperVersion::Unref() { in Unref() 428 void SuperVersion::Cleanup() { in Cleanup() 463 SuperVersion* sv = static_cast<SuperVersion*>(ptr); in SuperVersionUnrefHandle() 657 SuperVersion* sv = super_version_; in UnrefAndTryDelete() 1171 assert(ptr != SuperVersion::kSVInUse); in GetThreadLocalSuperVersion() 1172 SuperVersion* sv = static_cast<SuperVersion*>(ptr); in GetThreadLocalSuperVersion() [all …]
|
| D | column_family.h | 198 struct SuperVersion { struct 213 SuperVersion() = default; argument 214 ~SuperVersion(); 215 SuperVersion* Ref(); 406 SuperVersion* super_version, bool* overlap); 436 SuperVersion* GetSuperVersion() { return super_version_; } in GetSuperVersion() 439 SuperVersion* GetReferencedSuperVersion(DBImpl* db); 443 SuperVersion* GetThreadLocalSuperVersion(DBImpl* db); 447 bool ReturnThreadLocalSuperVersion(SuperVersion* sv); 550 SuperVersion* super_version_;
|
| D | job_context.h | 21 struct SuperVersion; 29 autovector<SuperVersion*> superversions_to_free; 33 std::unique_ptr<SuperVersion> 37 : new_superversion(create_superversion ? new SuperVersion() : nullptr) {} 48 new_superversion = std::unique_ptr<SuperVersion>(new SuperVersion()); in NewSuperVersion()
|
| D | external_sst_file_ingestion_job.h | 93 uint64_t next_file_number, SuperVersion* sv); 103 Status NeedsFlush(bool* flush_needed, SuperVersion* super_version); 130 SuperVersion* sv); 135 Status AssignLevelAndSeqnoForIngestedFile(SuperVersion* sv,
|
| D | forward_iterator.h | 24 struct SuperVersion; 55 ColumnFamilyData* cfd, SuperVersion* current_sv = nullptr); 93 DBImpl* db, SuperVersion* sv, bool background_purge_on_iterator_cleanup); 125 SuperVersion* sv_;
|
| D | import_column_family_job.h | 38 Status Prepare(uint64_t next_file_number, SuperVersion* sv); 58 SuperVersion* sv);
|
| D | external_sst_file_ingestion_job.cc | 31 uint64_t next_file_number, SuperVersion* sv) { in Prepare() 183 SuperVersion* super_version) { in NeedsFlush() 202 SuperVersion* super_version = cfd_->GetSuperVersion(); in Run() 360 SuperVersion* sv) { in GetIngestedFileInfo() 527 SuperVersion* sv, bool force_global_seqno, CompactionStyle compaction_style, in AssignLevelAndSeqnoForIngestedFile()
|
| D | import_column_family_job.cc | 22 SuperVersion* sv) { in Prepare() 200 SuperVersion* sv) { in GetIngestedFileInfo()
|
| D | forward_iterator.cc | 204 SuperVersion* current_sv) in ForwardIterator() 231 void ForwardIterator::SVCleanup(DBImpl* db, SuperVersion* sv, in SVCleanup() 259 SuperVersion* sv; 673 SuperVersion* svnew; in RenewIterators()
|
| D | arena_wrapped_db_iter.cc | 67 SuperVersion* sv = cfd_->GetReferencedSuperVersion(db_impl_); in Refresh()
|
| D | db_basic_test.cc | 1078 ASSERT_EQ(cfd->TEST_GetLocalSV()->Get(), SuperVersion::kSVInUse); in TEST_P() 1129 ASSERT_NE(cfd->TEST_GetLocalSV()->Get(), SuperVersion::kSVInUse); in TEST_P() 1130 ASSERT_NE(cfd->TEST_GetLocalSV()->Get(), SuperVersion::kSVObsolete); in TEST_P() 1191 ASSERT_NE(cfd->TEST_GetLocalSV()->Get(), SuperVersion::kSVInUse); in TEST_P() 1223 (cfd->TEST_GetLocalSV()->Get() == SuperVersion::kSVInUse) || in TEST_P() 1224 (cfd->TEST_GetLocalSV()->Get() == SuperVersion::kSVObsolete)); in TEST_P() 1250 ASSERT_NE(cfd->TEST_GetLocalSV()->Get(), SuperVersion::kSVInUse); in TEST_P()
|
| /rocksdb-6.9/docs/_posts/ |
| D | 2014-06-27-avoid-expensive-locks-in-get.markdown | 12 …he current version, which is encapsulated in a data structure called [SuperVersion](https://review… 24 The lock is necessary because pointer super_version_ may be updated, the corresponding SuperVersion… 43 SuperVersion* s = thread_local_->Get(); 64 …sue: a thread can visit GetImpl() once but can never come back again. SuperVersion is referenced a… 69 … A reader thread uses CAS to acquire SuperVersion from its local storage and to put in a special f… 74 …turn SuperVersion to local storage by CAS, expecting the special flag (SuperVersion::kSVInUse) in … 79 …hreads’ local storage and frees encountered SuperVersion. A reader thread must re-acquire a new Su…
|
| /rocksdb-6.9/utilities/transactions/ |
| D | transaction_util.cc | 29 SuperVersion* sv = db_impl->GetAndRefSuperVersion(cfd); in CheckKeyForConflicts() 49 Status TransactionUtil::CheckKey(DBImpl* db_impl, SuperVersion* sv, in CheckKey() 147 SuperVersion* sv = db_impl->GetAndRefSuperVersion(cf_id); in CheckKeysForConflicts()
|
| D | transaction_util.h | 49 struct SuperVersion; 94 static Status CheckKey(DBImpl* db_impl, SuperVersion* sv,
|
| /rocksdb-6.9/db/db_impl/ |
| D | db_impl.h | 520 SequenceNumber GetEarliestMemTableSequenceNumber(SuperVersion* sv, 550 Status GetLatestSequenceForKey(SuperVersion* sv, const Slice& key, 664 SuperVersion* GetAndRefSuperVersion(ColumnFamilyData* cfd); 670 SuperVersion* GetAndRefSuperVersion(uint32_t column_family_id); 673 void CleanupSuperVersion(SuperVersion* sv); 822 void AddSuperVersionsToFreeQueue(SuperVersion* sv) { in AddSuperVersionsToFreeQueue() 1170 friend struct SuperVersion; 1721 SuperVersion* super_version; 1723 SuperVersion* sv) in MultiGetColumnFamilyData() 1731 size_t count, SuperVersion* sv) in MultiGetColumnFamilyData() [all …]
|
| D | db_impl.cc | 1403 SuperVersion* super_version; 1548 SuperVersion* sv = GetAndRefSuperVersion(cfd); in GetImpl() 1808 autovector<SuperVersion*> superversions_to_delete; in MultiGet() 2171 SuperVersion* super_version, SequenceNumber snapshot, in MultiGetImpl() 2576 SuperVersion* sv = cfd->GetReferencedSuperVersion(this); in NewIteratorImpl() 2922 SuperVersion* sv = nullptr; in GetIntPropertyInternal() 3006 void DBImpl::CleanupSuperVersion(SuperVersion* sv) { in CleanupSuperVersion() 3080 SuperVersion* sv = GetAndRefSuperVersion(cfd); in GetApproximateMemTableStats() 3105 SuperVersion* sv = GetAndRefSuperVersion(cfd); in GetApproximateSizes() 4409 std::vector<SuperVersion*> sv_list; in VerifyChecksum() [all …]
|
| D | db_impl_readonly.cc | 46 SuperVersion* super_version = cfd->GetSuperVersion(); in Get() 75 SuperVersion* super_version = cfd->GetSuperVersion()->Ref(); in NewIterator()
|
| D | db_impl_secondary.cc | 334 SuperVersion* super_version = GetAndRefSuperVersion(cfd); in GetImpl() 412 SuperVersion* super_version = cfd->GetReferencedSuperVersion(this); in NewIteratorImpl()
|
| D | db_impl_compaction_flush.cc | 694 SuperVersion* super_version = cfd->GetReferencedSuperVersion(this); in CompactRange() 738 SuperVersion* super_version = cfd->GetReferencedSuperVersion(this); in CompactRange()
|
| D | db_impl_write.cc | 1740 SuperVersion* new_superversion = in SwitchMemtable()
|
| /rocksdb-6.9/ |
| D | HISTORY.md | 83 * Fixed two performance issues related to memtable history trimming. First, a new SuperVersion is n…
|