qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robbie Gemmell (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Commented: (QPID-2418) Existing durable subscription with selector is not unsubscribed during change to new subscription
Date Sat, 18 Sep 2010 20:18:32 GMT

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

Robbie Gemmell commented on QPID-2418:

As per Andrews earlier comments, the updates do not fully resolve the issue when using 0-8/0-9/0-9-1
clients as the information on previous subscribers is only held per-session, and regardless
of this it is not possible with these protocol versions to determine when connecting whether
any existing server side selector (if any) matches the new one (if any) as the arguments can
not be queried. It is only possible to tell from the queue bindings whether the Topic in use
differs differs.

The updates I made to augment the original patch do allow the 0-10 client to determine that
the selector is changing even without knowledge of any prior subscribers on the session and
so should fully resolve the issue. This was achieved by always sending the selector argument
but giving it an empty value if no selector is in use (the broker interprets the empty argument
as lack of a selector just as it would if the argument was not present), as this allows querying
the broker upon (re)connection whether the selector argument matches any existing argument.
Additionally, the client side selectors in the 0-10 client would already protect from reciept
of messages which do not match the selector in use at any given point.

>  Existing durable subscription with selector is not unsubscribed during change to new
> --------------------------------------------------------------------------------------------------
>                 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, QPID-2418-trunk_new.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-subscribe@qpid.apache.org

View raw message