stream coordinator fall back to consistent query

This commit is contained in:
kjnilsson 2021-03-16 09:01:56 +00:00
parent e46216b5a8
commit eb91d50fd4
1 changed files with 12 additions and 0 deletions

View File

@ -183,6 +183,18 @@ local_pid(StreamId) when is_list(StreamId) ->
members(StreamId) when is_list(StreamId) -> members(StreamId) when is_list(StreamId) ->
MFA = {?MODULE, query_members, [StreamId]}, MFA = {?MODULE, query_members, [StreamId]},
case ra:local_query({?MODULE, node()}, MFA) of case ra:local_query({?MODULE, node()}, MFA) of
{ok, {_, {ok, _} = Result}, _} ->
Result;
{ok, {_, {error, not_found} = Result}, _} ->
%% fall back to consistent query
case ra:consistent_query({?MODULE, node()}, MFA) of
{ok, Result, _} ->
Result;
{error, _} = Err ->
Err;
{timeout, _} ->
{error, timeout}
end;
{ok, {_, Result}, _} -> {ok, {_, Result}, _} ->
Result; Result;
{error, _} = Err -> {error, _} = Err ->