diff --git a/apps/emqx_cluster_link/src/emqx_cluster_link_router_syncer.erl b/apps/emqx_cluster_link/src/emqx_cluster_link_router_syncer.erl index ea1803f6d..5fc267bd9 100644 --- a/apps/emqx_cluster_link/src/emqx_cluster_link_router_syncer.erl +++ b/apps/emqx_cluster_link/src/emqx_cluster_link_router_syncer.erl @@ -145,12 +145,19 @@ start_link_client(TargetCluster, Actor) -> {ok, _Props} -> {ok, Pid}; Error -> + _ = flush_link_signal(Pid), Error end; Error -> Error end. +flush_link_signal(Pid) -> + receive + {'EXIT', Pid, _} -> ok + after 1 -> timeout + end. + refine_client_options(Options = #{clientid := ClientID}, Actor) -> Suffix = case Actor of