[jboss-jira] [JBoss JIRA] Created: (JBMESSAGING-1839) Live node dropping out of cluster can cause orphaned messages
Justin Bertram (JIRA)
jira-events at lists.jboss.org
Mon Jan 10 23:53:49 EST 2011
Live node dropping out of cluster can cause orphaned messages
-------------------------------------------------------------
Key: JBMESSAGING-1839
URL: https://issues.jboss.org/browse/JBMESSAGING-1839
Project: JBoss Messaging
Issue Type: Bug
Components: JMS Clustering
Affects Versions: 1.4.0.SP3.CP10
Reporter: Justin Bertram
Assignee: Yong Hao Gao
When a live node is kicked out of the cluster (for whatever reason) its JBoss Messaging ServerPeer remains active which means the node is still available to receive messages and, if necessary, persist them to the database. However, the CHANNEL_ID values used for the persisted messages will be invalid since the fail-over procedure would have removed the "dead" node's channels from the JBM_POSTOFFICE and new CHANNEL_ID values will be used when the "dead" node is finally restarted. This essentially orphans any persistent messages sent to the "dead" node after it has been kicked out of the cluster. Recovering the orphaned messages would require manual intervention with the database, but even then it might not be possible to match the old CHANNEL_ID values with the new ones.
The simplest way to solve this problem is to add a constraint to the database that forces the inserted message's CHANNEL_ID to correspond to a CHANNEL_ID from JBM_POSTOFFICE. Of course, such a constraint will hurt performance a bit, but it could be optional - customers could trade robustness for speed.
The node would still need to be restarted in order to rejoin the cluster appropriately, but the constraint would avoid orphaned messages.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list