[ 
https://issues.apache.org/jira/browse/QPID-2418?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12852046#action_12852046
 ] 

Rajith Attapattu commented on QPID-2418:
----------------------------------------

Interesting, the queue declare with the new selector merely updates the the 
selector on the queue?
The AMQP spec doesn't really define the behaviour if a queue declare is sent 
with the same name but different args (in this case the selector).
So I wouldn't argue that the Java broker is wrong. The c++ client merely 
ignores the queue declare.
IMO I think both brokers are wrong as this can lead to subtle errors that can 
go undetected -  but thats separate topic all together.

So on the C++ side, the queue is not deleted due to the java client bug. 
So the message is there and gets sent to the client who now has a new selector 
(with 0-10 client side selectors) which matches and the message is delivered.

Anyways once we fix the Java client to issue a queue this should be taken care 
of.
Always a good idea to run the default java and c++ profiles before an update.

>  Existing durable subscription with selector is not unsubscribed during 
> change to new subscription
> --------------------------------------------------------------------------------------------------
>
>                 Key: QPID-2418
>                 URL: https://issues.apache.org/jira/browse/QPID-2418
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M4, 0.5, 0.6
>            Reporter: Robbie Gemmell
>            Assignee: Robbie Gemmell
>             Fix For: 0.7
>
>         Attachments: 0001-QPID-2418-branch.patch, 0001-QPID-2418-trunk.patch
>
>
> AMQSession.createDurableSubscriber(topic, name, messageSelector, noLocal) 
> does not unsubscribe existing durable subscriptions. Whilst it does check for 
> existing durable subscriptions in use by the client with the same name, it 
> instead simply closes the subscriptions then creates a new one. As a result 
> of not unsubscribing, the queue backing the subscription is not deleted 
> before being used by the updated subscription as it should be (and as happens 
> in the 0_8 and 0_10 subclasses when using durable subscriptions without 
> selectors).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org

Reply via email to