Hi Rahman-

ActiveMQ 5.x includes duplicate message detection in both client and 
broker-side areas. For failover producers, there is the ability to track 
messages and take steps to flush or reduce duplicate during failover.

The broker contains audit points at several places (Destinations and KahaDB 
store) to look for message dupes (based on message ID) that accounts for 
several of the low-level and broker-to-broker scenarios. Additionally, when 
messages are paged out, dupe checking is available to make sure duplicate 
messages are not paged-in from the store (recent fix added a counter metric for 
this, instead of copying duplicate detected messages to the DLQ: 
https://issues.apache.org/jira/browse/AMQ-8397)

[Client Connection Factory]
setAuditDepth

ref: 
https://activemq.apache.org/maven/apidocs/org/apache/activemq/ActiveMQConnectionFactory.html

[Failover Transport]
trackMessages

ref: https://activemq.apache.org/failover-transport-reference.html

[Destination Policies]

enableAudit = true | false
maxAuditDepth
maxProducersToAudit

ref: https://activemq.apache.org/per-destination-policies

[KahaDB]

maxFailoverProducersToTrack
failoverProducersAuditDepth
 
Are you able to share more specifics about your use case or messaging pattern? 
‘Duplicate messages’ can be a tricky thing in distributed messaging (regardless 
of product used) — sometimes it is a resend of the same message (ie failover), 
sometimes it is a ‘redelivery’ to the consumer (ie. consumer rollback or does 
not ack properly). In clusters, you can have redundant publishing of messages 
(ie. Pub-sub storm) to account for.

Thanks,
Matt Pavlovich

> On Jun 1, 2022, at 1:15 PM, Gunawan, Rahman (GSFC-703.H)[Halvik Corp] 
> <rahman.guna...@nasa.gov.INVALID> wrote:
> 
> Hi,
> Does ActiveMQ 5.15.4 have duplicate message detection?  If yes, where can I 
> find the documentation?
> 
> Thanks
> 
> Regards,
> Rahman

Reply via email to