Merge pull request #14333 from rabbitmq/stream-sac-retry-unregister-consumer
Retry stream SAC unregister consumer operation
This commit is contained in:
commit
19692b8a27
|
@ -4045,9 +4045,10 @@ sac_register_consumer(VH, St, PartitionIndex, Name, Pid, ConnName, SubId) ->
|
|||
end).
|
||||
|
||||
sac_unregister_consumer(VH, St, Name, Pid, SubId) ->
|
||||
sac_call(fun() ->
|
||||
?SAC_MOD:unregister_consumer(VH, St, Name, Pid, SubId)
|
||||
end).
|
||||
Call = fun() ->
|
||||
?SAC_MOD:unregister_consumer(VH, St, Name, Pid, SubId)
|
||||
end,
|
||||
sac_call(retryable_sac_call(Call)).
|
||||
|
||||
sac_call(Call) ->
|
||||
case Call() of
|
||||
|
@ -4063,3 +4064,16 @@ sac_call(Call) ->
|
|||
R ->
|
||||
R
|
||||
end.
|
||||
|
||||
retryable_sac_call(Call) ->
|
||||
fun() -> retry_sac_call(Call, 3) end.
|
||||
|
||||
retry_sac_call(_Call, 0) ->
|
||||
{error, coordinator_unavailable};
|
||||
retry_sac_call(Call, N) ->
|
||||
case Call() of
|
||||
{error, coordinator_unavailable} ->
|
||||
retry_sac_call(Call, N - 1);
|
||||
R ->
|
||||
R
|
||||
end.
|
||||
|
|
Loading…
Reference in New Issue