You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Pete Fawcett (Jira)" <ji...@apache.org> on 2022/05/17 08:53:00 UTC
[jira] [Resolved] (QPID-8569) Illegal selector results in undeletable queue
[ https://issues.apache.org/jira/browse/QPID-8569?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pete Fawcett resolved QPID-8569.
--------------------------------
Fix Version/s: qpid-cpp-1.40.0
Resolution: Fixed
> Illegal selector results in undeletable queue
> ---------------------------------------------
>
> Key: QPID-8569
> URL: https://issues.apache.org/jira/browse/QPID-8569
> Project: Qpid
> Issue Type: Bug
> Components: C++ Broker
> Affects Versions: qpid-cpp-1.39.0
> Reporter: Pete Fawcett
> Priority: Major
> Fix For: qpid-cpp-1.40.0
>
>
> Using AMQP 1.0 and creating a receiver, with an exchange as a source, and specifying a selector.
> If a valid selector is specified then, as expected, a queue is created. The queue name and properties can be seen using {{qpid-stat}} or similar. When the receiver is closed the queue disappears.
> If an invalid selector is specified then, again as expected, an error is returned to the client.
> The problem is that it appears that a queue has been created. A new queue can be seen using {{qpid-stat}} and, even though is shows it to be "auto-delete" it has not been deleted.
> Furthermore, trying to delete the queue using {{qpid-config}} returns a {{"not-found: Delete failed. No such queue: ..."}} error.
> I don't think all invalid selectors produce this situation, and I think that there is some variation depending on the client being used - which perhaps suggests some validation is being done at the client end. However, there are certain invalid selectors that produce this error in both Python and C++ client bindings,
> Examples of invalid selector that produce errors are using an invalid operator:
> {{"header=='value'"}} which produces an {{"Illegal selector: '=': expected literal or identifier"}}
> or an invalid characters:
> {{"\header='value'"}} which produces an {{"Found illegal character"}}
> both the above result in the creation of an undeletable queue
> (I realise that "\header" isn't a valid value. I came across this error when trying to add double-quotes around the property name and got the wrong number of backslashes)
> A minimal way to reproduce these errors is to use the {{selected_recv.cpp}} example program in qpid-proton and change the filter string in [line 65|https://github.com/apache/qpid-proton/blob/main/cpp/examples/selected_recv.cpp#L65|]
--
This message was sent by Atlassian Jira
(v8.20.7#820007)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org