Skip to content

Commit 73955ae

Browse files
committed
bug cache: don't write cache metrics before cache component is initialized
commit_hash:d790496a4cffc26f738fdc382251ea6ad8a829de
1 parent db48d39 commit 73955ae

File tree

3 files changed

+7
-0
lines changed

3 files changed

+7
-0
lines changed

core/include/userver/cache/cache_statistics.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ struct Statistics final {
3737
UpdateStatistics full_update;
3838
UpdateStatistics incremental_update;
3939
std::atomic<std::size_t> documents_current_count{0};
40+
std::atomic<bool> is_first_sync_update_complete{false}; // Success or failure does not matter here.
4041
};
4142

4243
void DumpMetric(utils::statistics::Writer& writer, const Statistics& stats);

core/src/cache/cache_statistics.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ void DumpMetric(utils::statistics::Writer& writer, const UpdateStatistics& stats
7676
}
7777

7878
void DumpMetric(utils::statistics::Writer& writer, const Statistics& stats) {
79+
if (!stats.is_first_sync_update_complete) {
80+
return;
81+
}
82+
7983
const auto& full = stats.full_update;
8084
const auto& incremental = stats.incremental_update;
8185
UpdateStatistics any;

core/src/cache/cache_update_trait_impl.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,8 @@ void CacheUpdateTrait::Impl::StartPeriodicUpdates(utils::Flags<CacheUpdateTrait:
214214
}
215215
}
216216

217+
statistics_.is_first_sync_update_complete = true;
218+
217219
if (dump_time && config->first_update_type == FirstUpdateType::kIncrementalThenAsyncFull) {
218220
dump_first_update_type_ = UpdateType::kFull;
219221
periodic_task_flags_ |= utils::PeriodicTask::Flags::kNow;

0 commit comments

Comments
 (0)