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

          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Resolved Resolved
          7m 20s 1 Gary Tully 03/Feb/12 13:47
          Gavin made changes -
          Link This issue is depended upon by AMQ-3445 [ AMQ-3445 ]
          Gavin made changes -
          Link This issue blocks AMQ-3445 [ AMQ-3445 ]
          Gary Tully made changes -
          Link This issue blocks AMQ-3445 [ AMQ-3445 ]
          Gary Tully made changes -
          Field Original Value New Value
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          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.
          Gary Tully created issue -

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development