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 2021/11/17 15:40:00 UTC

[jira] [Created] (QPID-8569) Illegal selector results in undeletable queue

Pete Fawcett created QPID-8569:
----------------------------------

             Summary: 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


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

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.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org