[
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)