From b604c3dbd4f4da271083c2d211200739bc9b8057 Mon Sep 17 00:00:00 2001 From: Andrew Mayorov Date: Tue, 5 Mar 2024 20:26:18 +0100 Subject: [PATCH] refactor(sessds): make replay error handling a bit more clear Also leave a forgotten TODO. --- apps/emqx/src/emqx_persistent_session_ds.erl | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/apps/emqx/src/emqx_persistent_session_ds.erl b/apps/emqx/src/emqx_persistent_session_ds.erl index 4c42b2415..5c5fe5b82 100644 --- a/apps/emqx/src/emqx_persistent_session_ds.erl +++ b/apps/emqx/src/emqx_persistent_session_ds.erl @@ -532,8 +532,15 @@ replay_streams(Session0 = #{replay := [{_StreamKey, Srs0} | Rest]}, ClientInfo) case replay_batch(Srs0, Session0, ClientInfo) of Session = #{} -> replay_streams(Session#{replay := Rest}, ClientInfo); - {error, _, _} -> + {error, recoverable, Reason} -> + ?SLOG(warning, #{ + msg => "failed_to_fetch_replay_batch", + stream => Srs0, + reason => Reason, + class => recoverable + }), Session0 + %% TODO: Handle unrecoverable errors. end; replay_streams(Session0 = #{replay := []}, _ClientInfo) -> Session = maps:remove(replay, Session0), @@ -554,13 +561,7 @@ replay_batch(Srs0, Session0, ClientInfo) -> got => Srs }), Session; - {error, recoverable, Reason} = Error -> - ?SLOG(warning, #{ - msg => "failed_to_fetch_replay_batch", - stream => Srs0, - reason => Reason, - class => recoverable - }), + {error, _, _} = Error -> Error end.