[ 
https://issues.apache.org/jira/browse/ARTEMIS-3693?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Justin Bertram updated ARTEMIS-3693:
------------------------------------
    Description: 
As an Artemis user I want the broker to ignore duplicate messages (but still 
process new messages) that are received in the same transaction and 
successfully commit instead of failing to commit the whole transaction and 
rejecting both the duplicates and new messages so that I don't have to 
implement custom error handling to sort out the duplicates from new messages 
and retry the new messages.

The current [duplicate 
detection|https://activemq.apache.org/components/artemis/documentation/latest/duplicate-detection.html]
 returns an error back to producers when using a transaction. This forces the 
producer to implement custom error handling to distinguish this error from 
others.

This is particularly problematic when multiple messages are sent in the same 
transaction - some may be duplicates while others are not, but they will all be 
rejected.  It is difficult for the sender to untangle which is which. 

*Proposed Solution*
 * Add configuration at the address level to silently drop duplicates instead 
of rejecting them.  Logging them is OK, but the transaction should complete 
successfully.
 * Update 
[documentation|https://activemq.apache.org/components/artemis/documentation/latest/duplicate-detection.html]
 to describe the new option.

  was:
As an Artemis user I want the broker to:
 * Ignore duplicate messages (but still process new messages) that are received 
in the same transaction and successfully commit instead of failing to commit 
the whole transaction and rejecting both the duplicates and new messages So 
that I don't have to implement custom error handling to sort out the duplicates 
from new messages and retry the new messages.
 * Ignore duplicate messages it receives when not transacted instead of 
returning an error to the sender so that I don't have to implement custom error 
handling to skip over the duplicate message.

The current [duplicate 
detection|https://activemq.apache.org/components/artemis/documentation/latest/duplicate-detection.html]
 returns an error back to producers which forces the producer to implement 
custom error handling to distinguish this error from others.

This is particularly problematic when multiple messages are sent in the same 
transaction - some may be duplicates while others are not, but they will all be 
rejected.  It is difficult for the sender to untangle which is which. 

*Proposed Solution*
 * Add configuration at the address level to silently drop duplicates instead 
of rejecting them.  Logging them is OK, but the send / transaction should 
complete successfully.
 * Update 
[documentation|https://activemq.apache.org/components/artemis/documentation/latest/duplicate-detection.html]
 to describe the new option.


> Ignore duplicates instead of returning error
> --------------------------------------------
>
>                 Key: ARTEMIS-3693
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3693
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>            Reporter: Brad Harvey
>            Priority: Major
>
> As an Artemis user I want the broker to ignore duplicate messages (but still 
> process new messages) that are received in the same transaction and 
> successfully commit instead of failing to commit the whole transaction and 
> rejecting both the duplicates and new messages so that I don't have to 
> implement custom error handling to sort out the duplicates from new messages 
> and retry the new messages.
> The current [duplicate 
> detection|https://activemq.apache.org/components/artemis/documentation/latest/duplicate-detection.html]
>  returns an error back to producers when using a transaction. This forces the 
> producer to implement custom error handling to distinguish this error from 
> others.
> This is particularly problematic when multiple messages are sent in the same 
> transaction - some may be duplicates while others are not, but they will all 
> be rejected.  It is difficult for the sender to untangle which is which. 
> *Proposed Solution*
>  * Add configuration at the address level to silently drop duplicates instead 
> of rejecting them.  Logging them is OK, but the transaction should complete 
> successfully.
>  * Update 
> [documentation|https://activemq.apache.org/components/artemis/documentation/latest/duplicate-detection.html]
>  to describe the new option.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to