Uploaded image for project: 'JBoss Messaging'
  1. JBoss Messaging
  2. JBMESSAGING-1842

Live node dropping out of cluster can cause duplicate message delivery

    XMLWordPrintable

    Details

      Description

      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 send messages to clients. However, when the node is kicked out of the cluster another node in the cluster performs fail-over for that node and takes ownership of that node's messages in the database. The "dead" node may know nothing about this and might believe it still owns those messages and therefore will deliver those messages to clients. After delivery it tries to remove the message from the database and can't (because it doesn't actually own that message anymore). When this happens the "dead" node issues a WARN like this:

      WARN [JDBCPersistenceManager] Failed to remove row for: Reference[23318958991900672]:RELIABLE

      Of course, the node which performed the fail-over and actually owns the message now may also deliver the message to a client.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  gaohoward Yong Hao Gao
                  Reporter:
                  jbertram Justin Bertram
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  7 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: