[Java broker] DurableSubscriptions without a selector on 0-10 connections will
initially be unsubscribed at reconnect following upgrade of a legacy message
store
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: QPID-3835
URL: https://issues.apache.org/jira/browse/QPID-3835
Project: Qpid
Issue Type: Bug
Components: Java Broker, Java Broker BDB Store
Affects Versions: 0.14
Reporter: Robbie Gemmell
Assignee: Robbie Gemmell
Priority: Critical
Fix For: 0.15
DurableSubscriptions without a selector on 0-10 connections will initially be
unsubscribed at reconnect following upgrade of a legacy message store. If an
older broker release is upgraded to the current format, the bindings for a
DurableSubscriptions backing queue must be modified if it previously had no
selector, to ensure the client can correctly reconnect to the
DurableSubscription without having the existing messages lost due to an
unsubscribe() bring performed.
This is because the newer clients send the server-side selector argument with
an empty value to signfify the lack of a selector (to allow later querying if
the selector has changed in any way when using the 0-10 client) whereas old
clients used the complete lack of the argument to signal this. As a result,
when determining if the selector has changed following a store upgrade from a
legacy broker, the client would incorrectly believe it had and follow the JMS
spec behaviour of doing an unsubscribe() before continuing, which would have
the effect of deleting the backing queue. The bindings of such queues should be
manipulated during the upgrade process to add the selector argument if it isnt
already present.
--
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:[email protected]