[ 
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.
 * 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.

  was:
 
{quote}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

 
{quote}
 
{quote}As an artemis user

I want the broker to 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

 
{quote}
 

The current duplicate detection returns an error back to producers, which 
forces the producer to implement custom error handling to distinguish this 
error from others.

[https://activemq.apache.org/components/artemis/documentation/latest/duplicate-detection.html]

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.  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 to describe the new option.

[https://activemq.apache.org/components/artemis/documentation/latest/duplicate-detection.html]


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



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

Reply via email to