[
https://jira.jboss.org/jira/browse/JBMESSAGING-1558?page=com.atlassian.ji...
]
Clebert Suconic updated JBMESSAGING-1558:
-----------------------------------------
Attachment: diagram1.png
www.websequencediagrams.com:
#generated on
www.websequencediagrams.com with this syntax:
participant Consumer(A)
participant Consumer(B)
participant ServerSession
participant Queue
ServerSession->Queue: deliverAsync (from promptDelivery)
activate Queue
Queue->ServerConsumer(A): deliver Ref[A]
ServerConsumer(A)->ServerConsumerBackup(A): replicate Ref[A]
ServerConsumerBackup(A)->ServerConsumer(A): done
ServerConsumer(A)->Consumer(A): deliver Ref[A]
Queue->ServerConsumer(B): deliver Ref[B]
ServerConsumer(B)->ServerConsumerBackup(B): replicate Ref[B]
ServerConsumerBackup(B)->ServerConsumer(B): done
deactivate Queue
ServerConsumer(B)->Consumer(B): deliver Ref[B]
Order of Delivery is not being respected on backup node after
ServerConsumerImpl.close is called with pending deliveries
------------------------------------------------------------------------------------------------------------------------
Key: JBMESSAGING-1558
URL:
https://jira.jboss.org/jira/browse/JBMESSAGING-1558
Project: JBoss Messaging
Issue Type: Bug
Reporter: Clebert Suconic
Assignee: Clebert Suconic
Fix For: 2.0.0 Beta
Attachments: diagram1.png, diagram2.png, diff-6724.patch
The order of queues is not being respected between backup and livenode after
ServerConsumerImpl.close is called.
ServerConsumerImpl::close will call QueueImpl::cancel for every delivering reference, and
the order of the Queues will be different between backup and live node after that
operation.
Next time deliveries are replicated they will be in different orders between the two
nodes and several issues will happen after that.
You will see exceptions like:
throw new IllegalStateException("Cannot find ref " + messageID +
" in queue " +
messageQueue.getName());
As this opertaion will fail:
public void deliverReplicated(final long messageID) throws Exception
{
MessageReference ref = messageQueue.removeFirstReference(messageID);
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira