Use of No Local can result in NPE after persistent message recovery
-------------------------------------------------------------------

                 Key: QPID-1813
                 URL: https://issues.apache.org/jira/browse/QPID-1813
             Project: Qpid
          Issue Type: Bug
          Components: Java Broker
    Affects Versions: M4, M3
            Reporter: Martin Ritchie
            Assignee: Martin Ritchie
             Fix For: 0.5


Summary:

Because we do not store or recover the messages session Identifier (client id) 
along with the message on recovery the AMQMessage._sessionIdentifer is never 
set so subsequent no_local subscribers from that queue will result in 
NullPointerException.

Returning null rather than throwing the NPE in AMQMessage getPublisher* will 
result in no_local checks being skipped. 

This is ok as the JMS spec for no_local is bound to a TCP connection.. The 
_sessionIdentifier will only be null after the message has been recovered from 
the messageStore, therefore, the publishing TCP connection will have been lost.


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