From 575ebc6c6c280752026910b894b5994d8a3c855d Mon Sep 17 00:00:00 2001 From: ninsmiracle Date: Tue, 9 Jul 2024 15:46:45 +0800 Subject: [PATCH] fix: fix plog do not gc --- src/meta/duplication/meta_duplication_service.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/meta/duplication/meta_duplication_service.cpp b/src/meta/duplication/meta_duplication_service.cpp index 77642c1f52..9aa3b3f463 100644 --- a/src/meta/duplication/meta_duplication_service.cpp +++ b/src/meta/duplication/meta_duplication_service.cpp @@ -54,6 +54,7 @@ #include "utils/ports.h" #include "utils/string_conv.h" #include "utils/zlocks.h" +#include "utils/defer.h" DSN_DECLARE_bool(dup_ignore_other_cluster_ids); @@ -701,6 +702,10 @@ void meta_duplication_service::recover_from_meta_state() _meta_svc->get_meta_storage()->get_children( get_duplication_path(*app), [this, app](bool node_exists, const std::vector &dup_id_list) { + dsn::defer([this, app]() { + zauto_write_lock l(app_lock()); + refresh_duplicating_no_lock(app); + }); if (!node_exists) { // if there's no duplication return;