fix typo not deleting collected flag; force removing collected flag on child disconnect (#13672)
Costa Tsaousis committed
Sep 16, 2022 at 16:45 UTC
6a82d7bd25dc5db25d2d708b5444e01f211390e2
1 file changed
+6
-1
database/rrdcontext.c
+6
-1
@@ -182,7 +182,7 @@ rrd_flag_add_remove_atomic(RRD_FLAGS *flags, RRD_FLAGS check, RRD_FLAGS conditio
182
\
183
/* always remove these flags */ \
184
, RRD_FLAG_ARCHIVED \
185
- | RRD_FLAG_DELETED \
185
+ | RRD_FLAG_COLLECTED \
186
)
187
188
#define rrd_flag_is_collected(obj) rrd_flag_check(obj, RRD_FLAG_COLLECTED)
@@ -2448,6 +2448,11 @@ static void rrdmetric_process_updates(RRDMETRIC *rm, bool force, RRD_FLAGS reaso
2448
if(worker_jobs)
2449
worker_is_busy(WORKER_JOB_PP_METRIC);
2450
2451
+ if(reason == RRD_FLAG_UPDATE_REASON_DISCONNECTED_CHILD) {
2452
+ rrd_flag_set_archived(rm);
2453
+ rrd_flag_set(rm, RRD_FLAG_UPDATE_REASON_DISCONNECTED_CHILD);
2454
+ }
2455
+
2456
rrdmetric_update_retention(rm);
2457
2458
rrd_flag_unset_updated(rm);