[
https://issues.apache.org/activemq/browse/AMQ-2132?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Colin MacNaughton updated AMQ-2132:
-----------------------------------
Attachment: AMQ-2132patch.txt
Patch attached.
Changed IDispatcher to throw RejectedExecutionException when a request for
dispatch is made when it is shutdown. Also modified
DispatchContext.requestDispatch to do the same. Modified FlowController to
catch and eat this exception. Also changed AbstractPooledDispatcher to keep
better track of it's open dispatchers to avoid the ArrayIndexOutOfBounds
exception, and changed MockBrokerTest to immediately start the dispatcher after
its creation
There are still issues with the mock broker test shutdown sequence that will
need to be addressed, but this should
> java.lang.IndexOutOfBoundsException during dispatcher shutdown coming out of
> FlowController.
> ---------------------------------------------------------------------------------------------
>
> Key: AMQ-2132
> URL: https://issues.apache.org/activemq/browse/AMQ-2132
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: incubation
> Reporter: Colin MacNaughton
> Fix For: incubation
>
> Attachments: AMQ-2132patch.txt
>
>
> RemoteConnection error: java.lang.IndexOutOfBoundsException: Index: 7, Size: 3
> at java.util.ArrayList.RangeCheck(ArrayList.java:546)
> at java.util.ArrayList.get(ArrayList.java:321)
> at
> org.apache.activemq.dispatch.AbstractPooledDispatcher.chooseDispatcher(AbstractPooledDispatcher.java:132)
> at
> org.apache.activemq.dispatch.PriorityDispatcher$2$1.execute(PriorityDispatcher.java:89)
> at
> org.apache.activemq.flow.FlowController.checkUnblockSources(FlowController.java:424)
> at
> org.apache.activemq.flow.FlowController.dispatchOverflowQueue(FlowController.java:341)
> at
> org.apache.activemq.flow.FlowController.onUnthrottled(FlowController.java:300)
> at
> org.apache.activemq.flow.FlowController$1.onUnthrottled(FlowController.java:83)
> at
> org.apache.activemq.flow.AbstractLimiter.notifyUnThrottleListeners(AbstractLimiter.java:41)
> at org.apache.activemq.flow.SizeLimiter.remove(SizeLimiter.java:68)
> at
> org.apache.activemq.flow.RemoteConnection$WindowLimiter.remove(RemoteConnection.java:308)
> at
> org.apache.activemq.flow.RemoteConnection$WindowLimiter.onProtocolMessage(RemoteConnection.java:323)
> at
> org.apache.activemq.flow.RemoteConnection.onCommand(RemoteConnection.java:92)
> at
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
> at
> org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:210)
> at
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
> at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:234)
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:216)
> at java.lang.Thread.run(Thread.java:613)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.