From 6a82d7bd25dc5db25d2d708b5444e01f211390e2 Mon Sep 17 00:00:00 2001 From: Costa Tsaousis Date: Fri, 16 Sep 2022 16:45:59 +0300 Subject: fix typo not deleting collected flag; force removing collected flag on child disconnect (#13672) --- database/rrdcontext.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'database') diff --git a/database/rrdcontext.c b/database/rrdcontext.c index b743ffb6ef..4a77fea1b4 100644 --- a/database/rrdcontext.c +++ b/database/rrdcontext.c @@ -182,7 +182,7 @@ rrd_flag_add_remove_atomic(RRD_FLAGS *flags, RRD_FLAGS check, RRD_FLAGS conditio \ /* always remove these flags */ \ , RRD_FLAG_ARCHIVED \ - | RRD_FLAG_DELETED \ + | RRD_FLAG_COLLECTED \ ) #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 if(worker_jobs) worker_is_busy(WORKER_JOB_PP_METRIC); + if(reason == RRD_FLAG_UPDATE_REASON_DISCONNECTED_CHILD) { + rrd_flag_set_archived(rm); + rrd_flag_set(rm, RRD_FLAG_UPDATE_REASON_DISCONNECTED_CHILD); + } + rrdmetric_update_retention(rm); rrd_flag_unset_updated(rm); -- cgit v1.2.3