Lines Matching refs:cfd
28 ColumnFamilyData* cfd, const std::vector<CompactionInputFiles>& inputs, in EnoughRoomForCompaction() argument
40 sfm->EnoughRoomForCompaction(cfd, inputs, error_handler_.GetBGError()); in EnoughRoomForCompaction()
46 (void)cfd; in EnoughRoomForCompaction()
61 bool DBImpl::RequestCompactionToken(ColumnFamilyData* cfd, bool force, in RequestCompactionToken() argument
66 cfd->ioptions()->compaction_thread_limiter.get()); in RequestCompactionToken()
75 limiter->GetName().c_str(), cfd->GetName().c_str(), in RequestCompactionToken()
138 ColumnFamilyData* cfd, const MutableCFOptions& mutable_cf_options, in FlushMemTableToOutputFile() argument
146 assert(cfd->imm()->NumNotFlushed() != 0); in FlushMemTableToOutputFile()
147 assert(cfd->imm()->IsFlushPending()); in FlushMemTableToOutputFile()
150 dbname_, cfd, immutable_db_options_, mutable_cf_options, in FlushMemTableToOutputFile()
154 GetDataDir(cfd, 0U), in FlushMemTableToOutputFile()
155 GetCompressionFlush(*cfd->ioptions(), mutable_cf_options), stats_, in FlushMemTableToOutputFile()
166 NotifyOnFlushBegin(cfd, &file_meta, mutable_cf_options, job_context->job_id); in FlushMemTableToOutputFile()
199 InstallSuperVersionAndScheduleWork(cfd, superversion_context, in FlushMemTableToOutputFile()
206 cfd->GetName().c_str(), in FlushMemTableToOutputFile()
207 cfd->current()->storage_info()->LevelSummary(&tmp)); in FlushMemTableToOutputFile()
222 NotifyOnFlushCompleted(cfd, mutable_cf_options, in FlushMemTableToOutputFile()
229 cfd->ioptions()->cf_paths[0].path, file_meta.fd.GetNumber()); in FlushMemTableToOutputFile()
260 ColumnFamilyData* cfd = arg.cfd_; in FlushMemTablesToOutputFiles() local
261 MutableCFOptions mutable_cf_options = *cfd->GetLatestMutableCFOptions(); in FlushMemTablesToOutputFiles()
264 cfd, mutable_cf_options, made_progress, job_context, in FlushMemTablesToOutputFiles()
299 for (const auto cfd : cfds) { in AtomicFlushMemTablesToOutputFiles() local
300 assert(cfd->imm()->NumNotFlushed() != 0); in AtomicFlushMemTablesToOutputFiles()
301 assert(cfd->imm()->IsFlushPending()); in AtomicFlushMemTablesToOutputFiles()
318 auto cfd = cfds[i]; in AtomicFlushMemTablesToOutputFiles() local
319 FSDirectory* data_dir = GetDataDir(cfd, 0U); in AtomicFlushMemTablesToOutputFiles()
320 const std::string& curr_path = cfd->ioptions()->cf_paths[0].path; in AtomicFlushMemTablesToOutputFiles()
337 all_mutable_cf_options.emplace_back(*cfd->GetLatestMutableCFOptions()); in AtomicFlushMemTablesToOutputFiles()
341 dbname_, cfd, immutable_db_options_, mutable_cf_options, in AtomicFlushMemTablesToOutputFiles()
345 data_dir, GetCompressionFlush(*cfd->ioptions(), mutable_cf_options), in AtomicFlushMemTablesToOutputFiles()
587 void DBImpl::NotifyOnFlushBegin(ColumnFamilyData* cfd, FileMetaData* file_meta, in NotifyOnFlushBegin() argument
599 (cfd->current()->storage_info()->NumLevelFiles(0) >= in NotifyOnFlushBegin()
602 (cfd->current()->storage_info()->NumLevelFiles(0) >= in NotifyOnFlushBegin()
608 info.cf_id = cfd->GetID(); in NotifyOnFlushBegin()
609 info.cf_name = cfd->GetName(); in NotifyOnFlushBegin()
614 MakeTableFileName(cfd->ioptions()->cf_paths[0].path, file_number); in NotifyOnFlushBegin()
622 info.flush_reason = cfd->GetFlushReason(); in NotifyOnFlushBegin()
631 (void)cfd; in NotifyOnFlushBegin()
639 ColumnFamilyData* cfd, const MutableCFOptions& mutable_cf_options, in NotifyOnFlushCompleted() argument
651 (cfd->current()->storage_info()->NumLevelFiles(0) >= in NotifyOnFlushCompleted()
654 (cfd->current()->storage_info()->NumLevelFiles(0) >= in NotifyOnFlushCompleted()
672 (void)cfd; in NotifyOnFlushCompleted()
682 auto cfd = cfh->cfd(); in CompactRange() local
684 if (options.target_path_id >= cfd->ioptions()->cf_paths.size()) { in CompactRange()
694 SuperVersion* super_version = cfd->GetReferencedSuperVersion(this); in CompactRange()
695 cfd->RangesOverlapWithMemtables({range}, super_version, &flush_needed); in CompactRange()
711 s = FlushMemTable(cfd, fo, FlushReason::kManualCompaction, in CompactRange()
723 if (cfd->ioptions()->compaction_style == kCompactionStyleUniversal && in CompactRange()
724 cfd->NumberLevels() > 1) { in CompactRange()
726 final_output_level = cfd->NumberLevels() - 1; in CompactRange()
731 s = RunManualCompaction(cfd, ColumnFamilyData::kCompactAllLevels, in CompactRange()
738 SuperVersion* super_version = cfd->GetReferencedSuperVersion(this); in CompactRange()
780 if (cfd->ioptions()->compaction_style == kCompactionStyleUniversal || in CompactRange()
781 cfd->ioptions()->compaction_style == kCompactionStyleFIFO) { in CompactRange()
790 cfd->ioptions()->compaction_filter == nullptr && in CompactRange()
791 cfd->ioptions()->compaction_filter_factory == nullptr) { in CompactRange()
803 if (cfd->ioptions()->compaction_style == kCompactionStyleLevel && in CompactRange()
804 cfd->ioptions()->level_compaction_dynamic_level_bytes && in CompactRange()
809 s = RunManualCompaction(cfd, level, output_level, options, begin, end, in CompactRange()
815 final_output_level = cfd->NumberLevels() - 1; in CompactRange()
834 s = ReFitLevel(cfd, final_output_level, options.target_level); in CompactRange()
871 auto cfd = reinterpret_cast<ColumnFamilyHandleImpl*>(column_family)->cfd(); in CompactFiles()
872 assert(cfd); in CompactFiles()
890 auto* current = cfd->current(); in CompactFiles()
893 s = CompactFilesImpl(compact_options, cfd, current, input_file_names, in CompactFiles()
932 const CompactionOptions& compact_options, ColumnFamilyData* cfd, in CompactFilesImpl() argument
957 if (cfd->ioptions()->cf_paths.size() == 1U) { in CompactFilesImpl()
966 Status s = cfd->compaction_picker()->SanitizeCompactionInputFiles( in CompactFilesImpl()
973 s = cfd->compaction_picker()->GetCompactionInputsFromFileNumbers( in CompactFilesImpl()
980 if (cfd->compaction_picker()->AreFilesInCompaction(inputs.files)) { in CompactFilesImpl()
989 cfd, input_files, &sfm_reserved_compact_space, log_buffer); in CompactFilesImpl()
1001 assert(cfd->compaction_picker()); in CompactFilesImpl()
1002 c.reset(cfd->compaction_picker()->CompactFiles( in CompactFilesImpl()
1004 *cfd->GetLatestMutableCFOptions(), output_path_id)); in CompactFilesImpl()
1040 version->storage_info()->ComputeCompactionScore(*cfd->ioptions(), in CompactFilesImpl()
1072 BuildCompactionJobInfo(cfd, c.get(), s, compaction_job_stats, in CompactFilesImpl()
1144 void DBImpl::NotifyOnCompactionBegin(ColumnFamilyData* cfd, Compaction* c, in NotifyOnCompactionBegin() argument
1160 Version* current = cfd->current(); in NotifyOnCompactionBegin()
1167 info.cf_name = cfd->GetName(); in NotifyOnCompactionBegin()
1211 (void)cfd; in NotifyOnCompactionBegin()
1220 ColumnFamilyData* cfd, Compaction* c, const Status& st, in NotifyOnCompactionCompleted() argument
1234 Version* current = cfd->current(); in NotifyOnCompactionCompleted()
1241 BuildCompactionJobInfo(cfd, c, st, compaction_job_stats, job_id, current, in NotifyOnCompactionCompleted()
1252 (void)cfd; in NotifyOnCompactionCompleted()
1262 Status DBImpl::ReFitLevel(ColumnFamilyData* cfd, int level, int target_level) { in ReFitLevel() argument
1263 assert(level < cfd->NumberLevels()); in ReFitLevel()
1264 if (target_level >= cfd->NumberLevels()) { in ReFitLevel()
1282 const MutableCFOptions mutable_cf_options = *cfd->GetLatestMutableCFOptions(); in ReFitLevel()
1286 to_level = FindMinimumEmptyLevelFitting(cfd, mutable_cf_options, level); in ReFitLevel()
1289 auto* vstorage = cfd->current()->storage_info(); in ReFitLevel()
1305 "[%s] Before refitting:\n%s", cfd->GetName().c_str(), in ReFitLevel()
1306 cfd->current()->DebugString().data()); in ReFitLevel()
1309 edit.SetColumnFamily(cfd->GetID()); in ReFitLevel()
1320 "[%s] Apply version edit:\n%s", cfd->GetName().c_str(), in ReFitLevel()
1323 status = versions_->LogAndApply(cfd, mutable_cf_options, &edit, &mutex_, in ReFitLevel()
1325 InstallSuperVersionAndScheduleWork(cfd, &sv_context, mutable_cf_options); in ReFitLevel()
1328 cfd->GetName().c_str(), status.ToString().data()); in ReFitLevel()
1332 "[%s] After refitting:\n%s", cfd->GetName().c_str(), in ReFitLevel()
1333 cfd->current()->DebugString().data()); in ReFitLevel()
1345 return cfh->cfd()->NumberLevels(); in NumberLevels()
1355 return cfh->cfd() in Level0StopWriteTrigger()
1367 s = AtomicFlushMemTables({cfh->cfd()}, flush_options, in Flush()
1370 s = FlushMemTable(cfh->cfd(), flush_options, FlushReason::kManualFlush); in Flush()
1404 cfds.emplace_back(cfh->cfd()); in Flush()
1423 ColumnFamilyData* cfd, int input_level, int output_level, in RunManualCompaction() argument
1436 manual.cfd = cfd; in RunManualCompaction()
1448 cfd->ioptions()->compaction_style == kCompactionStyleUniversal || in RunManualCompaction()
1449 cfd->ioptions()->compaction_style == kCompactionStyleFIFO) { in RunManualCompaction()
1456 cfd->ioptions()->compaction_style == kCompactionStyleUniversal || in RunManualCompaction()
1457 cfd->ioptions()->compaction_style == kCompactionStyleFIFO) { in RunManualCompaction()
1492 cfd->GetName().c_str()); in RunManualCompaction()
1498 "[%s] Manual compaction starting", cfd->GetName().c_str()); in RunManualCompaction()
1512 ((compaction = manual.cfd->CompactRange( in RunManualCompaction()
1513 *manual.cfd->GetLatestMutableCFOptions(), manual.input_level, in RunManualCompaction()
1540 cfd, true, &ca->prepicked_compaction->task_token, &log_buffer)) { in RunManualCompaction()
1569 for (const auto cfd : cfds) { in GenerateFlushRequest() local
1570 if (nullptr == cfd) { in GenerateFlushRequest()
1574 uint64_t max_memtable_id = cfd->imm()->GetLatestMemTableID(); in GenerateFlushRequest()
1575 req->emplace_back(cfd, max_memtable_id); in GenerateFlushRequest()
1579 Status DBImpl::FlushMemTable(ColumnFamilyData* cfd, in FlushMemTable() argument
1586 s = WaitUntilFlushWouldNotStallWrites(cfd, &flush_needed); in FlushMemTable()
1607 if (!cfd->mem()->IsEmpty() || !cached_recoverable_state_empty_.load()) { in FlushMemTable()
1608 s = SwitchMemtable(cfd, &context); in FlushMemTable()
1611 if (cfd->imm()->NumNotFlushed() != 0 || !cfd->mem()->IsEmpty() || in FlushMemTable()
1613 flush_memtable_id = cfd->imm()->GetLatestMemTableID(); in FlushMemTable()
1614 flush_req.emplace_back(cfd, flush_memtable_id); in FlushMemTable()
1620 if (cfd_stats != nullptr && cfd_stats != cfd && in FlushMemTable()
1626 if (loop_cfd == cfd_stats || loop_cfd == cfd) { in FlushMemTable()
1637 cfd->GetName().c_str()); in FlushMemTable()
1701 for (auto cfd : column_family_datas) { in AtomicFlushMemTables() local
1703 s = WaitUntilFlushWouldNotStallWrites(cfd, &flush_needed); in AtomicFlushMemTables()
1730 for (auto cfd : column_family_datas) { in AtomicFlushMemTables() local
1731 if (cfd->IsDropped()) { in AtomicFlushMemTables()
1734 if (cfd->imm()->NumNotFlushed() != 0 || !cfd->mem()->IsEmpty() || in AtomicFlushMemTables()
1736 cfds.emplace_back(cfd); in AtomicFlushMemTables()
1739 for (auto cfd : cfds) { in AtomicFlushMemTables() local
1740 if (cfd->mem()->IsEmpty() && cached_recoverable_state_empty_.load()) { in AtomicFlushMemTables()
1743 cfd->Ref(); in AtomicFlushMemTables()
1744 s = SwitchMemtable(cfd, &context); in AtomicFlushMemTables()
1745 cfd->UnrefAndTryDelete(); in AtomicFlushMemTables()
1752 for (auto cfd : cfds) { in AtomicFlushMemTables() local
1753 cfd->imm()->FlushRequested(); in AtomicFlushMemTables()
1760 for (auto cfd : cfds) { in AtomicFlushMemTables() local
1761 cfd->Ref(); in AtomicFlushMemTables()
1786 for (auto* cfd : cfds) { in AtomicFlushMemTables() local
1787 cfd->UnrefAndTryDelete(); in AtomicFlushMemTables()
1799 Status DBImpl::WaitUntilFlushWouldNotStallWrites(ColumnFamilyData* cfd, in WaitUntilFlushWouldNotStallWrites() argument
1804 uint64_t orig_active_memtable_id = cfd->mem()->GetID(); in WaitUntilFlushWouldNotStallWrites()
1820 cfd->GetName().c_str()); in WaitUntilFlushWouldNotStallWrites()
1823 if (cfd->IsDropped()) { in WaitUntilFlushWouldNotStallWrites()
1831 std::min(cfd->mem()->GetID(), cfd->imm()->GetEarliestMemTableID()); in WaitUntilFlushWouldNotStallWrites()
1839 const auto& mutable_cf_options = *cfd->GetLatestMutableCFOptions(); in WaitUntilFlushWouldNotStallWrites()
1840 const auto* vstorage = cfd->current()->storage_info(); in WaitUntilFlushWouldNotStallWrites()
1846 if (cfd->imm()->NumNotFlushed() < in WaitUntilFlushWouldNotStallWrites()
1847 cfd->ioptions()->min_write_buffer_number_to_merge && in WaitUntilFlushWouldNotStallWrites()
1858 cfd->imm()->NumNotFlushed() + 1, in WaitUntilFlushWouldNotStallWrites()
2062 void DBImpl::AddToCompactionQueue(ColumnFamilyData* cfd) { in AddToCompactionQueue() argument
2063 assert(!cfd->queued_for_compaction()); in AddToCompactionQueue()
2064 cfd->Ref(); in AddToCompactionQueue()
2065 compaction_queue_.push_back(cfd); in AddToCompactionQueue()
2066 cfd->set_queued_for_compaction(true); in AddToCompactionQueue()
2071 auto cfd = *compaction_queue_.begin(); in PopFirstFromCompactionQueue() local
2073 assert(cfd->queued_for_compaction()); in PopFirstFromCompactionQueue()
2074 cfd->set_queued_for_compaction(false); in PopFirstFromCompactionQueue()
2075 return cfd; in PopFirstFromCompactionQueue()
2091 ColumnFamilyData* cfd = nullptr; in PickCompactionFromQueue() local
2100 cfd = first_cfd; in PickCompactionFromQueue()
2101 cfd->set_queued_for_compaction(false); in PickCompactionFromQueue()
2109 return cfd; in PickCompactionFromQueue()
2118 ColumnFamilyData* cfd = iter.first; in SchedulePendingFlush() local
2119 cfd->Ref(); in SchedulePendingFlush()
2120 cfd->SetFlushReason(flush_reason); in SchedulePendingFlush()
2126 void DBImpl::SchedulePendingCompaction(ColumnFamilyData* cfd) { in SchedulePendingCompaction() argument
2127 if (!cfd->queued_for_compaction() && cfd->NeedsCompaction()) { in SchedulePendingCompaction()
2128 AddToCompactionQueue(cfd); in SchedulePendingCompaction()
2231 ColumnFamilyData* cfd = iter.first; in BackgroundFlush() local
2232 if (cfd->IsDropped() || !cfd->imm()->IsFlushPending()) { in BackgroundFlush()
2234 column_families_not_to_flush.push_back(cfd); in BackgroundFlush()
2238 bg_flush_args.emplace_back(cfd, iter.second, in BackgroundFlush()
2249 ColumnFamilyData* cfd = arg.cfd_; in BackgroundFlush() local
2256 cfd->GetName().c_str(), bg_job_limits.max_flushes, in BackgroundFlush()
2267 ColumnFamilyData* cfd = arg.cfd_; in BackgroundFlush() local
2268 if (cfd->UnrefAndTryDelete()) { in BackgroundFlush()
2273 for (auto cfd : column_families_not_to_flush) { in BackgroundFlush() local
2274 cfd->UnrefAndTryDelete(); in BackgroundFlush()
2412 m->cfd->GetName().c_str(), job_context.job_id); in BackgroundCallCompaction()
2551 m->cfd->GetName().c_str(), m->input_level, in BackgroundCompaction()
2557 m->cfd, *(c->inputs()), &sfm_reserved_compact_space, log_buffer); in BackgroundCompaction()
2571 m->cfd->GetName().c_str(), m->input_level, c->output_level(), in BackgroundCompaction()
2590 auto cfd = PickCompactionFromQueue(&task_token, log_buffer); in BackgroundCompaction() local
2591 if (cfd == nullptr) { in BackgroundCompaction()
2603 if (cfd->UnrefAndTryDelete()) { in BackgroundCompaction()
2614 auto* mutable_cf_options = cfd->GetLatestMutableCFOptions(); in BackgroundCompaction()
2615 if (!mutable_cf_options->disable_auto_compactions && !cfd->IsDropped()) { in BackgroundCompaction()
2620 c.reset(cfd->PickCompaction(*mutable_cf_options, log_buffer)); in BackgroundCompaction()
2625 cfd, *(c->inputs()), &sfm_reserved_compact_space, log_buffer); in BackgroundCompaction()
2635 AddToCompactionQueue(cfd); in BackgroundCompaction()
2658 if (cfd->NeedsCompaction()) { in BackgroundCompaction()
2660 AddToCompactionQueue(cfd); in BackgroundCompaction()
2888 auto cfd = c->column_family_data(); in BackgroundCompaction() local
2889 assert(cfd != nullptr); in BackgroundCompaction()
2897 if (!cfd->queued_for_compaction()) { in BackgroundCompaction()
2898 AddToCompactionQueue(cfd); in BackgroundCompaction()
2932 assert(m->cfd->ioptions()->compaction_style != in BackgroundCompaction()
2934 m->cfd->ioptions()->num_levels > 1); in BackgroundCompaction()
2935 assert(m->cfd->ioptions()->compaction_style != kCompactionStyleFIFO); in BackgroundCompaction()
2998 bool DBImpl::HaveManualCompaction(ColumnFamilyData* cfd) { in HaveManualCompaction() argument
3006 if ((cfd == (*it)->cfd) && (!((*it)->in_progress || (*it)->done))) { in HaveManualCompaction()
3033 if (m->cfd != m1->cfd) { in MCOverlap()
3041 const ColumnFamilyData* cfd, Compaction* c, const Status& st, in BuildCompactionJobInfo() argument
3045 compaction_job_info->cf_id = cfd->GetID(); in BuildCompactionJobInfo()
3046 compaction_job_info->cf_name = cfd->GetName(); in BuildCompactionJobInfo()
3099 ColumnFamilyData* cfd, SuperVersionContext* sv_context, in InstallSuperVersionAndScheduleWork() argument
3105 auto* old_sv = cfd->GetSuperVersion(); in InstallSuperVersionAndScheduleWork()
3115 cfd->InstallSuperVersion(sv_context, &mutex_, mutable_cf_options); in InstallSuperVersionAndScheduleWork()
3130 SchedulePendingCompaction(cfd); in InstallSuperVersionAndScheduleWork()