Lines Matching refs:sub_compact

813 void CompactionJob::ProcessKeyValueCompaction(SubcompactionState* sub_compact) {  in ProcessKeyValueCompaction()  argument
814 assert(sub_compact != nullptr); in ProcessKeyValueCompaction()
818 ColumnFamilyData* cfd = sub_compact->compaction->column_family_data(); in ProcessKeyValueCompaction()
827 sub_compact->compaction->CreateCompactionFilter(); in ProcessKeyValueCompaction()
831 sub_compact->status = Status::NotSupported( in ProcessKeyValueCompaction()
843 sub_compact->compaction, &range_del_agg, file_options_for_read_)); in ProcessKeyValueCompaction()
882 Slice* start = sub_compact->start; in ProcessKeyValueCompaction()
883 Slice* end = sub_compact->end; in ProcessKeyValueCompaction()
893 sub_compact->c_iter.reset(new CompactionIterator( in ProcessKeyValueCompaction()
897 &range_del_agg, sub_compact->compaction, compaction_filter, in ProcessKeyValueCompaction()
900 auto c_iter = sub_compact->c_iter.get(); in ProcessKeyValueCompaction()
902 if (c_iter->Valid() && sub_compact->compaction->output_level() != 0) { in ProcessKeyValueCompaction()
906 sub_compact->ShouldStopBefore(c_iter->key(), in ProcessKeyValueCompaction()
907 sub_compact->current_output_file_size); in ProcessKeyValueCompaction()
925 RecordDroppedKeys(c_iter_stats, &sub_compact->compaction_job_stats); in ProcessKeyValueCompaction()
931 if (sub_compact->builder == nullptr) { in ProcessKeyValueCompaction()
932 status = OpenCompactionOutputFile(sub_compact); in ProcessKeyValueCompaction()
937 assert(sub_compact->builder != nullptr); in ProcessKeyValueCompaction()
938 assert(sub_compact->current_output() != nullptr); in ProcessKeyValueCompaction()
939 sub_compact->builder->Add(key, value); in ProcessKeyValueCompaction()
940 sub_compact->current_output_file_size = sub_compact->builder->FileSize(); in ProcessKeyValueCompaction()
942 sub_compact->current_output()->meta.UpdateBoundaries( in ProcessKeyValueCompaction()
944 sub_compact->num_output_records++; in ProcessKeyValueCompaction()
956 if (sub_compact->compaction->output_level() != 0 && in ProcessKeyValueCompaction()
957 sub_compact->current_output_file_size >= in ProcessKeyValueCompaction()
958 sub_compact->compaction->max_output_file_size()) { in ProcessKeyValueCompaction()
973 sub_compact->compaction->output_level() != 0 && in ProcessKeyValueCompaction()
974 sub_compact->ShouldStopBefore(c_iter->key(), in ProcessKeyValueCompaction()
975 sub_compact->current_output_file_size) && in ProcessKeyValueCompaction()
976 sub_compact->builder != nullptr) { in ProcessKeyValueCompaction()
990 FinishCompactionOutputFile(input_status, sub_compact, &range_del_agg, in ProcessKeyValueCompaction()
993 &sub_compact->compaction_job_stats); in ProcessKeyValueCompaction()
997 sub_compact->compaction_job_stats.num_input_deletion_records = in ProcessKeyValueCompaction()
999 sub_compact->compaction_job_stats.num_corrupt_keys = in ProcessKeyValueCompaction()
1001 sub_compact->compaction_job_stats.num_single_del_fallthru = in ProcessKeyValueCompaction()
1003 sub_compact->compaction_job_stats.num_single_del_mismatch = in ProcessKeyValueCompaction()
1005 sub_compact->compaction_job_stats.total_input_raw_key_bytes += in ProcessKeyValueCompaction()
1007 sub_compact->compaction_job_stats.total_input_raw_value_bytes += in ProcessKeyValueCompaction()
1012 RecordDroppedKeys(c_iter_stats, &sub_compact->compaction_job_stats); in ProcessKeyValueCompaction()
1035 if (status.ok() && sub_compact->builder == nullptr && in ProcessKeyValueCompaction()
1036 sub_compact->outputs.size() == 0 && !range_del_agg.IsEmpty()) { in ProcessKeyValueCompaction()
1038 status = OpenCompactionOutputFile(sub_compact); in ProcessKeyValueCompaction()
1043 if (sub_compact->builder != nullptr) { in ProcessKeyValueCompaction()
1045 Status s = FinishCompactionOutputFile(status, sub_compact, &range_del_agg, in ProcessKeyValueCompaction()
1050 RecordDroppedKeys(range_del_out_stats, &sub_compact->compaction_job_stats); in ProcessKeyValueCompaction()
1053 sub_compact->compaction_job_stats.cpu_micros = in ProcessKeyValueCompaction()
1057 sub_compact->compaction_job_stats.file_write_nanos += in ProcessKeyValueCompaction()
1059 sub_compact->compaction_job_stats.file_fsync_nanos += in ProcessKeyValueCompaction()
1061 sub_compact->compaction_job_stats.file_range_sync_nanos += in ProcessKeyValueCompaction()
1063 sub_compact->compaction_job_stats.file_prepare_write_nanos += in ProcessKeyValueCompaction()
1065 sub_compact->compaction_job_stats.cpu_micros -= in ProcessKeyValueCompaction()
1074 sub_compact->c_iter.reset(); in ProcessKeyValueCompaction()
1076 sub_compact->status = status; in ProcessKeyValueCompaction()
1117 const Status& input_status, SubcompactionState* sub_compact, in FinishCompactionOutputFile() argument
1123 assert(sub_compact != nullptr); in FinishCompactionOutputFile()
1124 assert(sub_compact->outfile); in FinishCompactionOutputFile()
1125 assert(sub_compact->builder != nullptr); in FinishCompactionOutputFile()
1126 assert(sub_compact->current_output() != nullptr); in FinishCompactionOutputFile()
1128 uint64_t output_number = sub_compact->current_output()->meta.fd.GetNumber(); in FinishCompactionOutputFile()
1131 ColumnFamilyData* cfd = sub_compact->compaction->column_family_data(); in FinishCompactionOutputFile()
1136 auto meta = &sub_compact->current_output()->meta; in FinishCompactionOutputFile()
1143 if (sub_compact->outputs.size() == 1) { in FinishCompactionOutputFile()
1146 lower_bound = sub_compact->start; in FinishCompactionOutputFile()
1166 if (sub_compact->end != nullptr && in FinishCompactionOutputFile()
1167 ucmp->Compare(upper_bound_guard, *sub_compact->end) >= 0) { in FinishCompactionOutputFile()
1168 upper_bound = sub_compact->end; in FinishCompactionOutputFile()
1175 upper_bound = sub_compact->end; in FinishCompactionOutputFile()
1193 assert(sub_compact->end == nullptr || in FinishCompactionOutputFile()
1195 ucmp->Compare(*upper_bound , *sub_compact->end) <= 0); in FinishCompactionOutputFile()
1233 sub_compact->builder->Add(kv.first.Encode(), kv.second); in FinishCompactionOutputFile()
1298 meta->marked_for_compaction = sub_compact->builder->NeedCompact(); in FinishCompactionOutputFile()
1300 const uint64_t current_entries = sub_compact->builder->NumEntries(); in FinishCompactionOutputFile()
1302 s = sub_compact->builder->Finish(); in FinishCompactionOutputFile()
1304 sub_compact->builder->Abandon(); in FinishCompactionOutputFile()
1306 if (!sub_compact->builder->io_status().ok()) { in FinishCompactionOutputFile()
1307 io_status_ = sub_compact->builder->io_status(); in FinishCompactionOutputFile()
1310 const uint64_t current_bytes = sub_compact->builder->FileSize(); in FinishCompactionOutputFile()
1314 sub_compact->current_output()->finished = true; in FinishCompactionOutputFile()
1315 sub_compact->total_bytes += current_bytes; in FinishCompactionOutputFile()
1321 io_s = sub_compact->outfile->Sync(db_options_.use_fsync); in FinishCompactionOutputFile()
1324 io_s = sub_compact->outfile->Close(); in FinishCompactionOutputFile()
1328 meta->file_checksum = sub_compact->outfile->GetFileChecksum(); in FinishCompactionOutputFile()
1330 sub_compact->outfile->GetFileChecksumFuncName(); in FinishCompactionOutputFile()
1336 sub_compact->outfile.reset(); in FinishCompactionOutputFile()
1340 tp = sub_compact->builder->GetTableProperties(); in FinishCompactionOutputFile()
1348 TableFileName(sub_compact->compaction->immutable_cf_options()->cf_paths, in FinishCompactionOutputFile()
1354 assert(!sub_compact->outputs.empty()); in FinishCompactionOutputFile()
1355 sub_compact->outputs.pop_back(); in FinishCompactionOutputFile()
1361 sub_compact->current_output()->table_properties = in FinishCompactionOutputFile()
1375 TableFileName(sub_compact->compaction->immutable_cf_options()->cf_paths, in FinishCompactionOutputFile()
1406 sub_compact->builder.reset(); in FinishCompactionOutputFile()
1407 sub_compact->current_output_file_size = 0; in FinishCompactionOutputFile()
1440 for (const auto& sub_compact : compact_->sub_compact_states) { in InstallCompactionResults() local
1441 for (const auto& out : sub_compact.outputs) { in InstallCompactionResults()
1462 SubcompactionState* sub_compact) { in OpenCompactionOutputFile() argument
1463 assert(sub_compact != nullptr); in OpenCompactionOutputFile()
1464 assert(sub_compact->builder == nullptr); in OpenCompactionOutputFile()
1468 TableFileName(sub_compact->compaction->immutable_cf_options()->cf_paths, in OpenCompactionOutputFile()
1469 file_number, sub_compact->compaction->output_path_id()); in OpenCompactionOutputFile()
1471 ColumnFamilyData* cfd = sub_compact->compaction->column_family_data(); in OpenCompactionOutputFile()
1490 sub_compact->compaction->column_family_data()->GetName().c_str(), in OpenCompactionOutputFile()
1511 sub_compact->compaction->MinInputFileOldestAncesterTime(); in OpenCompactionOutputFile()
1520 sub_compact->compaction->output_path_id(), 0); in OpenCompactionOutputFile()
1524 sub_compact->outputs.push_back(out); in OpenCompactionOutputFile()
1530 sub_compact->compaction->OutputFilePreallocationSize())); in OpenCompactionOutputFile()
1532 sub_compact->compaction->immutable_cf_options()->listeners; in OpenCompactionOutputFile()
1533 sub_compact->outfile.reset( in OpenCompactionOutputFile()
1544 sub_compact->builder.reset(NewTableBuilder( in OpenCompactionOutputFile()
1545 *cfd->ioptions(), *(sub_compact->compaction->mutable_cf_options()), in OpenCompactionOutputFile()
1547 cfd->GetID(), cfd->GetName(), sub_compact->outfile.get(), in OpenCompactionOutputFile()
1548 sub_compact->compaction->output_compression(), in OpenCompactionOutputFile()
1550 sub_compact->compaction->output_compression_opts(), in OpenCompactionOutputFile()
1551 sub_compact->compaction->output_level(), skip_filters, in OpenCompactionOutputFile()
1553 sub_compact->compaction->max_output_file_size(), current_time)); in OpenCompactionOutputFile()
1559 for (SubcompactionState& sub_compact : compact_->sub_compact_states) { in CleanupCompaction()
1560 const auto& sub_status = sub_compact.status; in CleanupCompaction()
1562 if (sub_compact.builder != nullptr) { in CleanupCompaction()
1564 sub_compact.builder->Abandon(); in CleanupCompaction()
1565 sub_compact.builder.reset(); in CleanupCompaction()
1567 assert(!sub_status.ok() || sub_compact.outfile == nullptr); in CleanupCompaction()
1569 for (const auto& out : sub_compact.outputs) { in CleanupCompaction()
1612 for (const auto& sub_compact : compact_->sub_compact_states) { in UpdateCompactionStats() local
1613 size_t num_output_files = sub_compact.outputs.size(); in UpdateCompactionStats()
1614 if (sub_compact.builder != nullptr) { in UpdateCompactionStats()
1621 num_output_records += sub_compact.num_output_records; in UpdateCompactionStats()
1623 for (const auto& out : sub_compact.outputs) { in UpdateCompactionStats()