[ https://issues.apache.org/jira/browse/AMQ-5942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14902871#comment-14902871 ]
Ben O'Day commented on AMQ-5942: -------------------------------- I'd don't buy the memory usage argument...many default configs are unbounded (destination memoryLimit comes to mind)...and a memory issue would be preferable/easier to diagnose than silently causing concurrent/out of order processing...the whole reason to use message groups in the first place... at the very least, it should throw an error in the logs when the max LRU cache size is exceeded stating just that... > CachedMessageGroupMapFactory fails with large key sets > ------------------------------------------------------ > > Key: AMQ-5942 > URL: https://issues.apache.org/jira/browse/AMQ-5942 > Project: ActiveMQ > Issue Type: Bug > Affects Versions: 5.11.1 > Reporter: Ben O'Day > Attachments: MessageGroupFactoryRouteTest.java > > > the current default factory is the CachedMessageGroupMapFactory which uses an > LRUMap with a maxSize of 1024 keys. If you use this with more than 1024 keys > and fail to explicitly increase the maxSize, then the message groups fails to > ensure ordering by group, same thread processing by group and overlapping > execution. > I have reproduced this behavior in the attached unit test (using Camel routes > as consumers)...if you switch to the SimpleMessageGroupMapFactory or increase > the max size of the cache above the number of keys...the issues go away > two suggestions > -throw an error when the maxSize is exceeded if using the > CachedMessageGroupMapFactory > -make the SimpleMessageGroupMapFactory the default (unlimited) -- This message was sent by Atlassian JIRA (v6.3.4#6332)