Skip to content

Commit 621d15a

Browse files
committed
Handle queue not_found error
1 parent 47840cd commit 621d15a

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

deps/rabbit/src/rabbit_channel.erl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2126,7 +2126,12 @@ deliver_to_queues(XName,
21262126
rabbit_misc:protocol_error(
21272127
resource_error,
21282128
"Stream coordinator unavailable for ~ts",
2129-
[rabbit_misc:rs(Resource)])
2129+
[rabbit_misc:rs(Resource)]);
2130+
{error, Reason} ->
2131+
rabbit_misc:protocol_error(
2132+
resource_error,
2133+
"failed to deliver message: ~tp",
2134+
[Reason])
21302135
end.
21312136

21322137
process_routing_mandatory(_Mandatory = true,

deps/rabbit/src/rabbit_queue_type.erl

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -666,14 +666,8 @@ deliver0(Qs, Message0, Options, #?STATE{} = State0) ->
666666
Mod = amqqueue:get_type(Q),
667667
QState = case Mod:supports_stateful_delivery() of
668668
true ->
669-
try get_ctx(Q, State0) of
670-
#ctx{state = S} ->
671-
S
672-
catch exit:{not_found, _QRef} ->
673-
%% This quorum queue or stream was deleted between routing and delivery
674-
%% TODO fail gracefully by returning a rejected or accepted queue action instead of exiting the entire session/channel
675-
exit(todo)
676-
end;
669+
#ctx{state = S} = get_ctx(Q, State0),
670+
S;
677671
false ->
678672
stateless
679673
end,

0 commit comments

Comments
 (0)