nmeylan created ARTEMIS-4794:
--------------------------------
Summary: CoreBridge: Duplicate message when bridge is stopped
while messages being consumed
Key: ARTEMIS-4794
URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
Project: ActiveMQ Artemis
Issue Type: Bug
Components: Clustering
Affects Versions: 2.30.0, 2.34.0
Reporter: nmeylan
Attachments: BridgeDuplicateMessageBugTest.java
+Attached test highlight the issue with *BridgeDuplicateMessageBugTest.java*+
org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl
Place it under
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
{*}Summary{*}:
When a bridge is stopped while messages being consumed by the target node,
it can lead to duplicate messages.
{*}Description{*}:
When Using bridge and programmatically *stopping* or *pausing* it while
messages are being consumed by the target node, the source node fails to get
the acknowledgement from target node and messages now exists on the source and
the target node.
It appears that the "active" flag being set to false when
BridgeImpl.StopRunnable is called prevent message to be acknowledged by
_BridgeImpl::sendAcknowledged_ function
{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to
move messages from one node to another when some conditions are met, if they
are no longer met I want to stop the moving of messages.
*Notes:*
* Changing bridge configuration
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or
_producerWindowSize_ parameter do not help to mitigate the issue
* Bug present on 2.30 and 2.34
*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_
after removing consumer but before going further in the stop process
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact