@@ -698,19 +698,27 @@ is_node_db_ready(Node, FromNode) ->
698698 end .
699699
700700erpc_call (Node , Mod , Fun , Args , FromNode ) ->
701+ erpc_call (Node , Mod , Fun , Args , FromNode , 30000 ).
702+
703+ erpc_call (Node , Mod , Fun , Args , FromNode , Timeout ) when Timeout >= 0 ->
701704 try
702705 erpc :call (Node , Mod , Fun , Args )
703706 catch
704- error :{erpc , Reason } ->
707+ error :{erpc , _ } = Reason : Stacktrace ->
705708 Peer = node (),
706709 _ = catch erpc :call (
707710 FromNode ,
708711 logger , debug ,
709712 [" Peer discovery: temporary hidden node '~ts ' "
710713 " failed to connect to '~ts ': ~0p " ,
711714 [Peer , Node , Reason ]]),
712- timer :sleep (200 ),
713- erpc_call (Node , Mod , Fun , Args , FromNode )
715+ Sleep = 200 ,
716+ timer :sleep (Sleep ),
717+ NewTimeout = Timeout - Sleep ,
718+ case NewTimeout >= 0 of
719+ true -> erpc_call (Node , Mod , Fun , Args , FromNode );
720+ false -> erlang :raise (error , Reason , Stacktrace )
721+ end
714722 end .
715723
716724-spec sort_nodes_and_props (NodesAndProps ) ->
0 commit comments