activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "zachary.zhang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-4619) lose messages in Shared File System Master/Slave while swich master to slave quickly and many times
Date Tue, 09 Jul 2013 01:26:47 GMT

    [ https://issues.apache.org/jira/browse/AMQ-4619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13702748#comment-13702748
] 

zachary.zhang commented on AMQ-4619:
------------------------------------

In our scenario, there are many consumers to receive messages,if we send duplicate messages
 or losing messages,there isn't a good way to make consumers to know which message is duplicate
or losing.
I noticed there is a rollback methed in session.I plan to use it when producer throw exception,then
resend message ,so the consumer can receive messages perfectly neither more or less. However,
after I tested, the rollback methed can't destroy the message ,it worked not  as JDBC rollback.
Is there something wrong in this solution? 
Thanks for your help.
                
> 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
>              Labels: security
>             Fix For: 5.x
>
>   Original Estimate: 72h
>  Remaining Estimate: 72h
>
>  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.

--
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

Mime
View raw message