zachary.zhang created AMQ-4619:
----------------------------------
Summary: lose messages in Shared File System Master/Slave while
swich master to slave quickly and many times
Key: AMQ-4619
URL: https://issues.apache.org/jira/browse/AMQ-4619
Project: ActiveMQ
Issue Type: Bug
Components: JMS client, Message Store
Affects Versions: 5.8.0
Environment: pc(computer), windows 7(os), Shared File System
Master/Slave
Reporter: zachary.zhang
Fix For: 5.x
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. the 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. Someetimes we must
use failover switch the master and slave,and we don't want to face losing
messages.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira