Skip to content

Commit 53bc3c1

Browse files
the-mikedavismergify[bot]
authored andcommitted
rabbit_db_queue: Add timeout error to delete/2 spec
(cherry picked from commit 0bb203e)
1 parent 94f112c commit 53bc3c1

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

deps/rabbit/src/rabbit_amqqueue.erl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1777,7 +1777,10 @@ notify_sent_queue_down(QPid) ->
17771777
resume(QPid, ChPid) -> delegate:invoke_no_result(QPid, {gen_server2, cast,
17781778
[{resume, ChPid}]}).
17791779

1780-
-spec internal_delete(amqqueue:amqqueue(), rabbit_types:username()) -> 'ok'.
1780+
-spec internal_delete(Queue, ActingUser) -> Ret when
1781+
Queue :: amqqueue:amqqueue(),
1782+
ActingUser :: rabbit_types:username(),
1783+
Ret :: ok | {error, timeout}.
17811784

17821785
internal_delete(Queue, ActingUser) ->
17831786
internal_delete(Queue, ActingUser, normal).
@@ -1787,6 +1790,8 @@ internal_delete(Queue, ActingUser, Reason) ->
17871790
case rabbit_db_queue:delete(QueueName, Reason) of
17881791
ok ->
17891792
ok;
1793+
{error, timeout} = Err ->
1794+
Err;
17901795
Deletions ->
17911796
_ = rabbit_binding:process_deletions(Deletions),
17921797
rabbit_binding:notify_deletions(Deletions, ?INTERNAL_USER),

deps/rabbit/src/rabbit_db_queue.erl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,9 @@ list_for_count_in_khepri(VHostName) ->
376376
-spec delete(QName, Reason) -> Ret when
377377
QName :: rabbit_amqqueue:name(),
378378
Reason :: atom(),
379-
Ret :: ok | Deletions :: rabbit_binding:deletions().
379+
Ret :: ok |
380+
Deletions :: rabbit_binding:deletions() |
381+
rabbit_khepri:timeout_error().
380382

381383
delete(QueueName, Reason) ->
382384
rabbit_khepri:handle_fallback(

deps/rabbit/src/rabbit_vhost.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,7 @@ assert_benign({error, not_found}, _) -> ok;
467467
assert_benign({error, {absent, Q, _}}, ActingUser) ->
468468
%% Removing the database entries here is safe. If/when the down node
469469
%% restarts, it will clear out the on-disk storage of the queue.
470-
rabbit_amqqueue:internal_delete(Q, ActingUser).
470+
ok = rabbit_amqqueue:internal_delete(Q, ActingUser).
471471

472472
-spec exists(vhost:name()) -> boolean().
473473

0 commit comments

Comments
 (0)