You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Rob Godfrey (Commented) (JIRA)" <ji...@apache.org> on 2012/03/01 00:27:57 UTC

[jira] [Commented] (QPID-3605) Durable subscriber with no-local true receives messages on re-connection

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

Rob Godfrey commented on QPID-3605:
-----------------------------------

Agreed on the naming...

On the test... I did consider doing that at the time and then got lazy :-)  I shall add now ...

Now there is the "fun" case that if you create a durable sub on connection A, send messages from connection B, close connection A, resubscribe on Connection B then consume... you won't see the messages (due to no-local at the sub) but they will be on the queue... and if you close connection B and then resubscribe on connection C, you will get them... I think the C++ broker behaviour will differ here.

Essentially the Java broker is going to treat no-local as "if, at the time the message was published, the publisher and subscriber were not the same, then queue the message.  Also for any messages in the queue, do not deliver to the connection if the message was published on the connection".  The C++, in contrast, appears to say at the queue "if the message is the from the same connection as my current subscriber... then throw the message away".
                
> Durable subscriber with no-local true receives messages on re-connection
> ------------------------------------------------------------------------
>
>                 Key: QPID-3605
>                 URL: https://issues.apache.org/jira/browse/QPID-3605
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.15
>            Reporter: Keith Wall
>            Assignee: Rob Godfrey
>
> If a durable subscriber using no-local true reconnects to the Java Broker, it receives all messages that publisher on same connection previously sent.  This defect is present on all code paths (0-8..0-10)
> See tests:
> (Java) org.apache.qpid.test.unit.topic.DurableSubscriptionTest#testNoLocalOnConnection
> (Python) qpid_tests.broker_0_10.message.MessageTests.test_no_local_awkward
> This defect does not manifest itself on the CPP Broker, as the CPP broker drops these messages.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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