@cryptotaxi247 / netdata-1 / commits / 94ebd49f0

Acquire datafile for deletion before calculating retention (#19812)

Make sure datafile is acquired before update_metrics_first_time_s

Stelios Fragkakis committed Mar 11, 2025 at 00:29 UTC 94ebd49f03fbd6716fba3b72ee7fd149ec6c51c9
1 file changed +3 -3
src/database/engine/rrdengine.c
+3 -3
@@ -1218,9 +1218,6 @@ void datafile_delete(struct rrdengine_instance *ctx, struct rrdengine_datafile *
1218
1219 bool datafile_got_for_deletion = datafile_acquire_for_deletion(datafile, false);
1220
1221 - if (update_retention)
1222 - update_metrics_first_time_s(ctx, datafile, datafile->next, worker);
1223 -
1221 while (!datafile_got_for_deletion) {
1222 if(worker)
1223 worker_is_busy(UV_EVENT_DBENGINE_DATAFILE_DELETE_WAIT);
@@ -1239,6 +1236,9 @@ void datafile_delete(struct rrdengine_instance *ctx, struct rrdengine_datafile *
1236 }
1237 }
1238
1239 + if (update_retention)
1240 + update_metrics_first_time_s(ctx, datafile, datafile->next, worker);
1241 +
1242 __atomic_add_fetch(&rrdeng_cache_efficiency_stats.datafile_deletion_started, 1, __ATOMIC_RELAXED);
1243 netdata_log_info("DBENGINE: deleting data file '%s/"
1244 DATAFILE_PREFIX RRDENG_FILE_NUMBER_PRINT_TMPL DATAFILE_EXTENSION