[jboss-jira] [JBoss JIRA] Commented: (JBMESSAGING-1558) Order of Delivery is not being respected on backup node after ServerConsumerImpl.close is called with pending deliveries
Tim Fox (JIRA)
jira-events at lists.jboss.org
Fri May 8 09:32:47 EDT 2009
[ https://jira.jboss.org/jira/browse/JBMESSAGING-1558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12466486#action_12466486 ]
Tim Fox commented on JBMESSAGING-1558:
--------------------------------------
"possible fix is to scan for the ID if not found at the head. I was still having some other issues with IDs not being found on Paging, but I have some idea of what could be. "
We need the core issue to be fixed not a workaround.
Replication should not allow deliveries to occur in a different order on live compared to backup. If that is occurring you need to find out the core reason why it's occurring.
Once you find that and fix it, there will be no need for hacky workarounds.
> 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: backup-6694.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
More information about the jboss-jira
mailing list