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

Brad Harvey commented on ARTEMIS-3693:
--------------------------------------

Hi Justin,

I have only tried the transacted use case, and only with the openwire protocol 
specifically.  I added the second point for completeness on the assumption that 
they worked the same way, but I see that the documentation does say the message 
will be ignored in the non transacted case which agrees with your finding.  
Sorry about that.

In light of that, my ask is for the transacted case to behave the same way as 
the non transacted case - ignore at an individual message level instead of the 
entire transaction.  Even if all messages in the transaction are duplicates I 
would want them to all be ignored and the transaction commit successfully.  

Hope that clarifies.

Cheers, Brad.

> 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