diff --git a/db/compaction_job.cc b/db/compaction_job.cc index 47275f00a..0b04a3d8e 100644 --- a/db/compaction_job.cc +++ b/db/compaction_job.cc @@ -1067,9 +1067,11 @@ Status CompactionJob::FinishCompactionOutputFile(Iterator* input) { info.job_id = job_id_; Log(InfoLogLevel::INFO_LEVEL, db_options_.info_log, "[%s] [JOB %d] Generated table #%" PRIu64 ": %" PRIu64 - " keys, %" PRIu64 " bytes", + " keys, %" PRIu64 " bytes%s", cfd->GetName().c_str(), job_id_, output_number, current_entries, - current_bytes); + current_bytes, + compact_->current_output()->need_compaction ? " (need compaction)" + : ""); EventHelpers::LogAndNotifyTableFileCreation( event_logger_, cfd->ioptions()->listeners, fd, info); } diff --git a/db/flush_job.cc b/db/flush_job.cc index 7536b2ba8..d6a5f7867 100644 --- a/db/flush_job.cc +++ b/db/flush_job.cc @@ -244,9 +244,12 @@ Status FlushJob::WriteLevel0Table(const autovector& mems, LogFlush(db_options_.info_log); } Log(InfoLogLevel::INFO_LEVEL, db_options_.info_log, - "[%s] [JOB %d] Level-0 flush table #%" PRIu64 ": %" PRIu64 " bytes %s", + "[%s] [JOB %d] Level-0 flush table #%" PRIu64 ": %" PRIu64 + " bytes %s" + "%s", cfd_->GetName().c_str(), job_context_->job_id, meta.fd.GetNumber(), - meta.fd.GetFileSize(), s.ToString().c_str()); + meta.fd.GetFileSize(), s.ToString().c_str(), + meta.marked_for_compaction ? " (needs compaction)" : ""); // output to event logger if (s.ok()) { diff --git a/db/version_set.cc b/db/version_set.cc index 5d2f2f801..7494ce5ee 100644 --- a/db/version_set.cc +++ b/db/version_set.cc @@ -1551,8 +1551,15 @@ const char* VersionStorageInfo::LevelSummary( // overwrite the last space --len; } - snprintf(scratch->buffer + len, sizeof(scratch->buffer) - len, - "] max score %.2f", compaction_score_[0]); + len += snprintf(scratch->buffer + len, sizeof(scratch->buffer) - len, + "] max score %.2f", compaction_score_[0]); + + if (!files_marked_for_compaction_.empty()) { + snprintf(scratch->buffer + len, sizeof(scratch->buffer) - len, + " (%zu files need compaction)", + files_marked_for_compaction_.size()); + } + return scratch->buffer; }