You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Ron Koerner (JIRA)" <ji...@apache.org> on 2013/12/11 12:32:07 UTC

[jira] [Commented] (AMQ-4924) Duplicate messages are left in the persistence store

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

Ron Koerner commented on AMQ-4924:
----------------------------------

It also seems to help to enable "supportFailOver" in the broker (tested by me) or "auditNetworkProducers" on the receiving TransportConnector (according to Gary Tully).

I don't know about the individual advantages or disadvantages for each solution. Can you elaborate? Is there a reason not to activate supportFailOver or checkDuplicateMessagesOnDuplex permanently/by default?

> Duplicate messages are left in the persistence store
> ----------------------------------------------------
>
>                 Key: AMQ-4924
>                 URL: https://issues.apache.org/jira/browse/AMQ-4924
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.8.0, 5.9.0
>            Reporter: Ron Koerner
>            Assignee: Rob Davies
>             Fix For: 5.10.0
>
>         Attachments: AMQ4924.java
>
>
> We have a local and remote broker connected with a duplex bridge, which is initiated by the remote broker.
> Producers are attached to the remote broker, one consumer to the local broker.
> The following scenario causes messages to be left in the local store, which are replayed when the local broker is restarted:
> # messages are forwarded from the remote broker to the local broker
> # messages are dispatched to the local consumer
> # the connection between the local and remote broker fails
> # the local broker tries to acknowledge the message reception to the remote broker, which fails
> # the remote broker reconnects
> # the messages are resent
> # the local broker correctly identifies them as duplicates, but puts them into the store nevertheless where they remain until the local broker is restarted
> # other messages are produced and consumed without a problem
> # the local broker is restarted
> # the duplicates are now delivered to the local consumer again and of course out of order
> This behaviour can be identified by a queue size which does not seem to shrink below a certain number, even if a consumer is connected and consuming other messages.
> When the log level is set to TRACE these messages indicate the problem:
> {code}
> 2013-12-06 20:35:17,405 TRACE .a.a.b.r.c.AbstractStoreCursor - org.apache.activemq.broker.region.cursors.QueueStorePrefetch@c0bc4f:testqueue,batchResetNeeded=false,storeHasMessages=true,size=0,cacheEnabled=true,maxBatchSize:1 - cursor got duplicate: ID:smcexp5-58011-1386358514283-7:1:1:1:1, 4 [ActiveMQ VMTransport: vm://LOCAL#19-1]
> 2013-12-06 20:35:17,412 TRACE .a.a.b.r.c.AbstractStoreCursor - org.apache.activemq.broker.region.cursors.QueueStorePrefetch@c0bc4f:testqueue,batchResetNeeded=false,storeHasMessages=false,size=1,cacheEnabled=false,maxBatchSize:1 - fillBatch [ActiveMQ BrokerService[LOCAL] Task-2]
> {code}



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)