Description
The message group balancing is based on state in the consumer that can be shared across destinations in error. Under load this can lead to:
2015-04-13 10:24:20,034 | WARN | IO Worker 308792 | Service | ivemq.broker.TransportConnection 312 | 121 - org.apache.activemq.activemq-osgi - 5.9.0 | Async error occurred: java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.TimSort.mergeHi(TimSort.java:868)[:1.7.0_65] at java.util.TimSort.mergeAt(TimSort.java:485)[:1.7.0_65] at java.util.TimSort.mergeCollapse(TimSort.java:410)[:1.7.0_65] at java.util.TimSort.sort(TimSort.java:214)[:1.7.0_65] at java.util.TimSort.sort(TimSort.java:173)[:1.7.0_65] at java.util.Arrays.sort(Arrays.java:659)[:1.7.0_65] at java.util.Collections.sort(Collections.java:217)[:1.7.0_65] at org.apache.activemq.broker.region.Queue.addToConsumerList(Queue.java:2131)[121:org.apache.activemq.activemq-osgi:5.9.0] at org.apache.activemq.broker.region.Queue.doActualDispatch(Queue.java:2067)[121:org.apache.activemq.activemq-osgi:5.9.0] at org.apache.activemq.broker.region.Queue.doDispatch(Queue.java:1972)[121:org.apache.activemq.activemq-osgi:5.9.0] at org.apache.activemq.broker.region.Queue.removeSubscription(Queue.java:587)[121:org.apache.activemq.activemq-osgi:5.9.0] at org.apache.activemq.broker.region.DestinationFilter.removeSubscription(DestinationFilter.java:127)[121:org.apache.activemq.activemq-osgi:5.9.0] at ...... at java.lang.Thread.run(Thread.java:745)[:1.7.0_65]
Attachments
Issue Links
- is related to
-
AMQ-2106 Allow broker to evenly distribute message groups among consumers
- Resolved