[
https://issues.apache.org/jira/browse/AMQ-8012?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17164574#comment-17164574
]
ASF subversion and git services commented on AMQ-8012:
------------------------------------------------------
Commit 795e917cbee3b9fb3101cd40205c0013c10cff28 in activemq's branch
refs/heads/activemq-5.16.x from Christopher L. Shannon (cshannon)
[ https://gitbox.apache.org/repos/asf?p=activemq.git;h=795e917 ]
AMQ-8012 - Improve thread safety of SubQueueSelectorCacheBroker
When returning a copy of the set of selectors we need to synchronize
(cherry picked from commit 62f5576fe5dc8bc06eefc1e26b8e66a10781fe32)
> ConcurrentModificationException in SubQueueSelectorCacheBroker
> --------------------------------------------------------------
>
> Key: AMQ-8012
> URL: https://issues.apache.org/jira/browse/AMQ-8012
> Project: ActiveMQ
> Issue Type: New Feature
> Affects Versions: 5.16.0, 5.15.13
> Reporter: Matt Pavlovich
> Assignee: Matt Pavlovich
> Priority: Major
> Fix For: 5.17.0, 5.16.1
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> Standard info log output:
> {noformat}
> 2020-07-16 01:34:57,349 | WARN | Async error occurred:
> java.util.ConcurrentModificationException |
> org.apache.activemq.broker.TransportConnection.Service | ActiveMQ Transport:
> tcp:///x.x.x.x:yyyyyy@61616
> {noformat}
> Debug log output:
> {noformat}
> java.util.ConcurrentModificationException
> at
> java.util.HashMap$HashIterator.nextNode(HashMap.java:1442)[:1.8.0_161]
> at java.util.HashMap$KeyIterator.next(HashMap.java:1466)[:1.8.0_161]
> at
> org.apache.activemq.broker.region.virtual.SelectorAwareVirtualTopicInterceptor.tryMatchingCachedSubs(SelectorAwareVirtualTopicInterceptor.java:82)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.region.virtual.SelectorAwareVirtualTopicInterceptor.shouldDispatch(SelectorAwareVirtualTopicInterceptor.java:68)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.region.virtual.VirtualTopicInterceptor.send(VirtualTopicInterceptor.java:114)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.region.virtual.VirtualTopicInterceptor.send(VirtualTopicInterceptor.java:67)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.region.DestinationFilter.send(DestinationFilter.java:132)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:505)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:459)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:293)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:154)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:293)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:154)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:154)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:154)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:226)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:154)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:572)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768)[activemq-client-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:330)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:194)[activemq-broker-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)[activemq-client-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:125)[activemq-client-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:301)[activemq-client-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)[activemq-client-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:233)[activemq-client-5.15.3.jar:5.15.3]
> at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)[activemq-client-5.15.3.jar:5.15.3]
> at java.lang.Thread.run(Thread.java:748)[:1.8.0_161]
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)