fix(ds): reply sync callers after raft store failure

This commit is contained in:
Thales Macedo Garitezi 2024-03-21 15:33:18 -03:00
parent 70737a437a
commit 68af211130
1 changed files with 5 additions and 1 deletions

View File

@ -175,7 +175,11 @@ do_flush(
#{db => DB, shard => Shard, reason => Error}
),
Cooldown = ?COOLDOWN_MIN + rand:uniform(?COOLDOWN_MAX - ?COOLDOWN_MIN),
ok = timer:sleep(Cooldown)
ok = timer:sleep(Cooldown),
%% Since we drop the entire batch here, we at least reply callers with an
%% error so they don't hang indefinitely in the `gen_server' call with
%% `infinity' timeout.
lists:foreach(fun(From) -> gen_server:reply(From, {error, Error}) end, Replies)
end,
S#s{
n = 0,