@@ -60,9 +60,11 @@ obfuscated_uris_parameters(Def) when is_list(Def) ->
6060 rabbit_shovel_parameters :obfuscate_uris_in_definition (Def ).
6161
6262child_exists (Name ) ->
63- lists :any (fun ({{_ , N }, _ , _ , _ }) -> N =:= Name ;
64- % % older format, pre 3.13.0 and 3.12.8. See rabbitmq/rabbitmq-server#9894.
65- ({N , _ , _ , _ }) -> N =:= Name
63+ Id = id (Name ),
64+ % % older format, pre 3.13.0 and 3.12.8. See rabbitmq/rabbitmq-server#9894.
65+ OldId = old_id (Name ),
66+ lists :any (fun ({ChildId , _ , _ , _ }) ->
67+ ChildId =:= Id orelse ChildId =:= OldId
6668 end ,
6769 mirrored_supervisor :which_children (? SUPERVISOR )).
6870
@@ -100,7 +102,7 @@ stop_child({VHost, ShovelName} = Name) ->
100102cleanup_specs () ->
101103 Children = mirrored_supervisor :which_children (? SUPERVISOR ),
102104
103- SupIdSet = sets :from_list ([element (1 , S ) || S <- Children ]),
105+ ChildIdSet = sets :from_list ([element (1 , S ) || S <- Children ]),
104106 ParamsSet = sets :from_list (
105107 lists :flatmap (
106108 fun (S ) ->
@@ -110,16 +112,16 @@ cleanup_specs() ->
110112 [id (Name ), old_id (Name )]
111113 end ,
112114 rabbit_runtime_parameters :list_component (<<" shovel" >>))),
113- F = fun (SupId , ok ) ->
115+ F = fun (ChildId , ok ) ->
114116 try
115- _ = mirrored_supervisor :delete_child (? SUPERVISOR , SupId )
117+ _ = mirrored_supervisor :delete_child (? SUPERVISOR , ChildId )
116118 catch _ :_ :_Stacktrace ->
117119 ok
118120 end ,
119121 ok
120122 end ,
121123 % % Delete any supervisor children that do not have their respective runtime parameters in the database.
122- SetToCleanUp = sets :subtract (SupIdSet , ParamsSet ),
124+ SetToCleanUp = sets :subtract (ChildIdSet , ParamsSet ),
123125 ok = sets :fold (F , ok , SetToCleanUp ).
124126
125127% %----------------------------------------------------------------------------
0 commit comments