summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Klishin <michael@novemberain.com>2018-08-30 13:21:17 +0300
committerGitHub <noreply@github.com>2018-08-30 13:21:17 +0300
commit25a3fe486a39d42c13680cf8f8e6990c0f13a511 (patch)
tree6475da97519ac829614d1413cd8380c770437d5c /src
parent46ca0db8b09cd8e7f3d73da6b0695ce8832ce083 (diff)
parent62b40f7e03f9a176f5de8bd27b5795085da741c7 (diff)
downloadrabbitmq-server-git-25a3fe486a39d42c13680cf8f8e6990c0f13a511.tar.gz
Merge pull request #1689 from rabbitmq/forgiving-binding-removal-on-queue-deletion
Don't error when a queue that's being deleted has no bindings left to remove on transaction retries
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_amqqueue.erl8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 5285689b58..ca4fb1c019 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -178,11 +178,9 @@
-spec notify_decorators(rabbit_types:amqqueue()) -> 'ok'.
-spec resume(pid(), pid()) -> 'ok'.
-spec internal_delete(name(), rabbit_types:username()) ->
- rabbit_types:ok_or_error('not_found') |
- rabbit_types:connection_exit() |
+ 'ok' | rabbit_types:connection_exit() |
fun (() ->
- rabbit_types:ok_or_error('not_found') |
- rabbit_types:connection_exit()).
+ 'ok' | rabbit_types:connection_exit()).
-spec run_backing_queue
(pid(), atom(), (fun ((atom(), A) -> {[rabbit_types:msg_id()], A}))) ->
'ok'.
@@ -995,7 +993,7 @@ internal_delete(QueueName, ActingUser, Reason) ->
case {mnesia:wread({rabbit_queue, QueueName}),
mnesia:wread({rabbit_durable_queue, QueueName})} of
{[], []} ->
- rabbit_misc:const({error, not_found});
+ rabbit_misc:const(ok);
_ ->
Deletions = internal_delete1(QueueName, false, Reason),
T = rabbit_binding:process_deletions(Deletions,