Scenario:
The error shows up with EAP8 on JDK-17, not with with EAP8 on JDK-11 and not with EAP7 on JDK-11
There are 4 EAP servers. Severs 1, 3 are in cluster configured using Netty static connectors.
- Queue InQueue is deployed to servers 1,3
- Servers 2 and 4 have RA configured to connect to servers 1 and 3 server using Netty static connectors
- Start servers 1,3 and send 10000 (~1Kb) messages to InQueue
- Start servers 2,4 with MDB consuming messages from InQueue and sending to OutQueue in XA transaction. MDB calls session.createQueue(OutQueue) for 1st message it processes
- When MDBs are processing messages, restart (clean shutdown and start) servers in this order: 1,2,4,3
- Wait until all messages are processed
- check difference between number of consumers on InQueue on server 1 and 3 must be <= 2
- check there is no lost or duplicated message
What fails in this test sceanrio is that the number of consumers on node-1 differs from node-3 by a value that is greater than 2: 10
The complete error message is:
java.lang.AssertionError: Number of consumers should be almost equal. Number of consumers on node-1 is: 20 and on node-3 is: 10 at org.junit.Assert.fail(Assert.java:89) at org.junit.Assert.assertTrue(Assert.java:42) at org.jboss.qa.hornetq.test.remote.jca.RemoteJcaTestCase.testLoadBalancingOfInboundConnectionsToClusterOneServerRestart(RemoteJcaTestCase.java:1108)
- is related to
-
ENTMQBR-8173 EAP 8 - Undelivered messages after restart in cluster
- New
-
JBEAP-25103 EAP 8 - Undelivered messages after restart in cluster
- New
-
JBEAP-13228 (7.2.z) Undelivered messages after restart in cluster
- Closed
-
WFLY-10102 JCA RA inflow connections are not always well balanced
- Open