Skip to content

Commit aa71a91

Browse files
Merge pull request #12281 from rabbitmq/mergify/bp/v4.0.x/pr-12279
2 parents 90139bf + 7ca4063 commit aa71a91

File tree

4 files changed

+24
-8
lines changed

4 files changed

+24
-8
lines changed

deps/rabbit/src/rabbit_amqqueue.erl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1687,7 +1687,10 @@ delete_crashed(Q) when ?amqqueue_is_classic(Q) ->
16871687
delete_crashed(Q, ActingUser) when ?amqqueue_is_classic(Q) ->
16881688
rabbit_classic_queue:delete_crashed(Q, ActingUser).
16891689

1690-
-spec delete_crashed_internal(amqqueue:amqqueue(), rabbit_types:username()) -> 'ok'.
1690+
-spec delete_crashed_internal(Q, ActingUser) -> Ret when
1691+
Q :: amqqueue:amqqueue(),
1692+
ActingUser :: rabbit_types:username(),
1693+
Ret :: ok | {error, timeout}.
16911694
delete_crashed_internal(Q, ActingUser) when ?amqqueue_is_classic(Q) ->
16921695
rabbit_classic_queue:delete_crashed_internal(Q, ActingUser).
16931696

deps/rabbit/src/rabbit_classic_queue.erl

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,15 @@ delete(Q0, IfUnused, IfEmpty, ActingUser) when ?amqqueue_is_classic(Q0) ->
168168
rabbit_log:warning("Queue ~ts in vhost ~ts is down. "
169169
"Forcing queue deletion.",
170170
[Name, Vhost]),
171-
delete_crashed_internal(Q, ActingUser),
172-
{ok, 0}
171+
case delete_crashed_internal(Q, ActingUser) of
172+
ok ->
173+
{ok, 0};
174+
{error, timeout} ->
175+
{error, protocol_error,
176+
"The operation to delete ~ts from the "
177+
"metadata store timed out",
178+
[rabbit_misc:rs(QName)]}
179+
end
173180
end
174181
end;
175182
{error, not_found} ->
@@ -551,7 +558,7 @@ delete_crashed(Q, ActingUser) ->
551558

552559
delete_crashed_internal(Q, ActingUser) ->
553560
delete_crashed_in_backing_queue(Q),
554-
ok = rabbit_amqqueue:internal_delete(Q, ActingUser).
561+
rabbit_amqqueue:internal_delete(Q, ActingUser).
555562

556563
delete_crashed_in_backing_queue(Q) ->
557564
{ok, BQ} = application:get_env(rabbit, backing_queue_module),

deps/rabbit/src/rabbit_quorum_queue.erl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -825,8 +825,8 @@ delete(Q, _IfUnused, _IfEmpty, ActingUser) when ?amqqueue_is_quorum(Q) ->
825825
{ok, ReadyMsgs};
826826
{error, timeout} ->
827827
{protocol_error, internal_error,
828-
"The operation to delete queue ~ts from the metadata "
829-
"store timed out", [rabbit_misc:rs(QName)]}
828+
"The operation to delete ~ts from the metadata store "
829+
"timed out", [rabbit_misc:rs(QName)]}
830830
end;
831831
{error, {no_more_servers_to_try, Errs}} ->
832832
case lists:all(fun({{error, noproc}, _}) -> true;

deps/rabbitmq_mqtt/src/rabbit_mqtt_qos0_queue.erl

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,14 @@ declare(Q0, _Node) ->
113113
delete(Q, _IfUnused, _IfEmpty, ActingUser) ->
114114
QName = amqqueue:get_name(Q),
115115
log_delete(QName, amqqueue:get_exclusive_owner(Q)),
116-
ok = rabbit_amqqueue:internal_delete(Q, ActingUser),
117-
{ok, 0}.
116+
case rabbit_amqqueue:internal_delete(Q, ActingUser) of
117+
ok ->
118+
{ok, 0};
119+
{error, timeout} ->
120+
{protocol_error, internal_error,
121+
"The operation to delete ~ts from the metadata store timed "
122+
"out", [rabbit_misc:rs(QName)]}
123+
end.
118124

119125
-spec deliver([{amqqueue:amqqueue(), stateless}],
120126
Msg :: mc:state(),

0 commit comments

Comments
 (0)