[jboss-jira] [JBoss JIRA] Updated: (JBMESSAGING-1558) Order of Delivery is not being respected on backup node after ServerConsumerImpl.close is called with pending deliveries
Clebert Suconic (JIRA)
jira-events at lists.jboss.org
Thu May 7 12:21:46 EDT 2009
[ https://jira.jboss.org/jira/browse/JBMESSAGING-1558?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Clebert Suconic updated JBMESSAGING-1558:
-----------------------------------------
Summary: Order of Delivery is not being respected on backup node after ServerConsumerImpl.close is called with pending deliveries (was: Order of Delivery is not being respected on backup node)
Description:
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 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);
was:
The order of delivery is not being respected on backup. When a delivery is replicated it may arrive in a different order than what happened on live what will cause issues on ServerConsumerImpl::deliverReplicated. (That includes paging.. but not only paging).
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);
> 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 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