@@ -345,10 +345,16 @@ handle_info({'DOWN', _Ref, process, Pid, _Reason},
345345 child_order = ChildOrder }) ->
346346 % % No guarantee pg will have received the DOWN before us.
347347 R = case lists :sort (pg :get_members (Group )) -- [Pid ] of
348- [O | _ ] -> ChildSpecs = retry_update_all (O , Pid ),
349- [start (Delegate , ChildSpec )
350- || ChildSpec <- restore_child_order (ChildSpecs ,
351- ChildOrder )];
348+ [O | _ ] -> ChildSpecs = update_all (O , Pid ),
349+ case ChildSpecs of
350+ _ when is_list (ChildSpecs ) ->
351+ [start (Delegate , ChildSpec )
352+ || ChildSpec <- restore_child_order (
353+ ChildSpecs ,
354+ ChildOrder )];
355+ {error , _ } ->
356+ [ChildSpecs ]
357+ end ;
352358 _ -> []
353359 end ,
354360 case errors (R ) of
@@ -428,22 +434,6 @@ check_stop(Group, Delegate, Id) ->
428434
429435id ({Id , _ , _ , _ , _ , _ }) -> Id .
430436
431- retry_update_all (O , Pid ) ->
432- retry_update_all (O , Pid , 10000 ).
433-
434- retry_update_all (O , Pid , TimeLeft ) when TimeLeft > 0 ->
435- case update_all (O , Pid ) of
436- List when is_list (List ) ->
437- List ;
438- {error , timeout } ->
439- Sleep = 200 ,
440- TimeLeft1 = TimeLeft - Sleep ,
441- timer :sleep (Sleep ),
442- retry_update_all (O , Pid , TimeLeft1 )
443- end ;
444- retry_update_all (O , Pid , _TimeLeft ) ->
445- update_all (O , Pid ).
446-
447437update_all (Overall , OldOverall ) ->
448438 rabbit_db_msup :update_all (Overall , OldOverall ).
449439
0 commit comments