Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-4619

lose messages in Shared File System Master/Slave while swich master to slave quickly and many times

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 5.8.0
    • 5.x
    • JMS client, Message Store
    • pc(computer), windows 7(os), Shared File System Master/Slave

    • Regression

    Description

      There are two activemq instance in my pc, they are in Shared File System Master/Slave with kahaDB model.
      1 set up the consumer listener and receive message use failover protocol .
      2 set up the producer to send message use failover protocol. the message total is 6000.
      3 close the master actviemq , so the slave can replace the master to work.
      repeat the step 3 many times (more than 5) and quickly.

      result:
      1 the producer will throw exception several times:
      javax.jms.TransactionRolledBackException: Transaction completion in doubt due to failover. Forcing rollback of TX:ID:wcmis175-55198-1372489851858-1:1:643
      at org.apache.activemq.state.ConnectionStateTracker.restoreTransactions(ConnectionStateTracker.java:231)
      at org.apache.activemq.state.ConnectionStateTracker.restore(ConnectionStateTracker.java:169)
      at org.apache.activemq.transport.failover.FailoverTransport.restoreTransport(FailoverTransport.java:821)
      at org.apache.activemq.transport.failover.FailoverTransport.doReconnect(FailoverTransport.java:996)
      at org.apache.activemq.transport.failover.FailoverTransport$2.iterate(FailoverTransport.java:143)
      at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:129)
      at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:47)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
      at java.lang.Thread.run(Thread.java:722)

      2 sometimes it will lose messages in consumer side (for example producer send 6000 messages ,throw 8 exceptions , the consumer will receive 5998 messages).I don't know where the lost messages going.

      So ,I think this bug is dangerous if it was really exsit. Sometimes we must use failover switch the master and slave,and we don't want to face losing messages.

      Attachments

        Activity

          People

            Unassigned Unassigned
            zachary880914@163.com zachary.zhang
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:

              Time Tracking

                Estimated:
                Original Estimate - 72h
                72h
                Remaining:
                Remaining Estimate - 72h
                72h
                Logged:
                Time Spent - Not Specified
                Not Specified