Scenario
Node A and B are started. JMS bridge with once and only once delivery and 1 reconnect attempt is deployed on node A. Producer starts sending mix of normal and large messages to InQueue on node A. Jms bridge resends messages from A's InQueue to B's OutQueue. During this time short network failure sequence (network goes down and then up) is executed twice. Receiver receives messages from OutQueue(also from node A). After that, network stays disconnected. Another receiver receives remaining messages from A's InQueue.
<jms-bridge name="myBridge" module="org.apache.activemq.artemis" quality-of-service="ONCE_AND_ONLY_ONCE" failure-retry-interval="1000" max-retries="1" max-batch-size="10" max-batch-time="100" add-messageID-in-header="true"> <source connection-factory="java:/ConnectionFactory" destination="jms/queue/InQueue"/> <target connection-factory="jms/BridgeConnectionFactory" destination="jms/queue/OutQueue"> <target-context> <property name="java.naming.factory.initial" value="org.jboss.naming.remote.client.InitialContextFactory"/> <property name="java.naming.provider.url" value="http-remoting://127.0.0.1:9080"/> </target-context> </target> </jms-bridge>
Issue
- node A's InQueue and node B's OutQueue is empty
- There are no prepared transactions on node A
- some messages are missing after test (multiply of 10, which is number of messages in one transaction)
- this scenario fails intermittently
Issue was hit with Artemis 2.5.0 with https://github.com/jmesnil/wildfly/tree/WFLY-9407_upgrade_artemis_2.4.0_with_prefix (commit 51dd8102f103ccb0470a3cfc8713d3f9bdb1b65d)
Logs are attached.
- blocks
-
WFLY-10320 Upgrade artemis from 1.5.x to 2.x.x
- Closed
- is cloned by
-
ENTMQBR-1616 Regression in JMS bridge with network failures tests
- Closed