-
Bug
-
Resolution: Done
-
Major
-
AMQ 7.8.0.GA
This bug arises is a somewhat obscure combination of circumstances; however, it is a genuine customer problem that is delaying implementation. It only affects C++ clients – a Java client can consume from the affected addresses without problems.
The problem arises when an address has a named queue defined with a filter, like this:
<queue name="foo/foo--filtered" purge-on-no-consumers="false" > <filter string="foo='BAR'"/> <durable>true</durable> </queue>
Without the filter, everything is fine. It is important that the consumer client does not have rights to auto-create queues.
When a C++ client tries to connect as a consumer to "foo/foo–filtered", it fails, with a security exception. Looking at the console shows that the queue no longer exists, although the address is still present, as are other queues defined for the same address.
Connecting the consumer to a queue in the same address, but without the filter, works fine.
It isn't clear to me whether the primary failure is the apparent lack of permissions, or the disappearing queue. If the queue disappears, then the client will get a permissions error, because it doesn't have rights to create the queue. However, it's also possible (I guess) that the primary problem is the apparent lack of permissions, and the queue removal is a consequence of that.
Once the C++ has caused the queue to disappear, it becomes unavailable for other clients because they, also, do not have permissions to create the queue.
- clones
-
ENTMQBR-5057 Qpid Proton C++ client does not work with filtered queues
- Closed
- is duplicated by
-
ENTMQBR-5635 [LTS] Configuration-managed queue can be deleted by durable subscriber
- Closed
- relates to
-
ENTMQBR-5200 [LTS] AMQP bypasses session when deleting queues
- Closed