summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <mklishin@pivotal.io>2019-02-18 21:30:38 +0300
committerMichael Klishin <mklishin@pivotal.io>2019-02-18 21:30:38 +0300
commitbe8658f7c36b78451fb52fa707f425d0f50fe67f (patch)
tree93ace7a1327c3273c51b42a637ede986ebf3f703
parent4f853ad021d61daab3dc1a8a7612d8512d1f45e7 (diff)
downloadrabbitmq-server-git-be8658f7c36b78451fb52fa707f425d0f50fe67f.tar.gz
Queue ownership check: provide more details in the messaage
See #1887 for context. When an exclusive queue is redeclared with the exclusive property set to `false`, the code considers it to be an ownership check. This is a leaked implementation detail that's been around for years, so changing it might do more harm than good. What we can do is provide a bit more information about when the check might fail in the message.
-rw-r--r--src/rabbit_amqqueue.erl4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 5385ed368f..6df90b3b8e 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -640,7 +640,9 @@ check_exclusive_access(Q, _ReaderPid, _MatchType) ->
QueueName = amqqueue:get_name(Q),
rabbit_misc:protocol_error(
resource_locked,
- "cannot obtain exclusive access to locked ~s",
+ "cannot obtain exclusive access to locked ~s. It could be originally "
+ "declared on another connection or the exclusive property value does not "
+ "match the original declaration.",
[rabbit_misc:rs(QueueName)]).
-spec with_exclusive_access_or_die(name(), pid(), qfun(A)) ->