ActiveMQ
  1. ActiveMQ
  2. AMQ-3695

Failover using a JDBC Message Store and Virtual Topic can result in a lost message if queue is empty

    Details

      Description

      Description:
      A consumer connects to the broker and expresses interest in the virtual topic and the queue is created and empty
      The consumer then disconnects
      The broker is killed and the producer fails over to the next broker
      The producer sends the message to the topic
      The consumer reconnects to the broker, however it has no message waiting the virtual topic's queue

      Symptom
      The queue for the virtual topic is not automatically created during the failover.

      Work around
      A work around for this issue is to use startup destinations on the slave brokers if the destination is known.

        Issue Links

          Activity

          Hide
          Gary Tully added a comment -

          fix in: http://svn.apache.org/viewvc?rev=1240162&view=rev

          For new queues that match the virtual interceptor prefixes configured, an entry is added to the ack table and the get destinations query unions distinct on ack and messages table. This allows them to be found and loaded on start.

          Show
          Gary Tully added a comment - fix in: http://svn.apache.org/viewvc?rev=1240162&view=rev For new queues that match the virtual interceptor prefixes configured, an entry is added to the ack table and the get destinations query unions distinct on ack and messages table. This allows them to be found and loaded on start.

            People

            • Assignee:
              Gary Tully
              Reporter:
              Gary Tully
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development