[ https://issues.apache.org/jira/browse/AMQ-3077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12972482#action_12972482 ]
Gary Tully commented on AMQ-3077: --------------------------------- yes, I think the behavior should be conditional on isUpdateClusterClients, the other place that that condition should be checked is in org.apache.activemq.broker.TransportConnector#getConnectionControl() before the peer brokers are added to the connectedBrokers string, such that the info is only passed to clients if needed. See previous comment and related issue ref: https://issues.apache.org/jira/browse/AMQ-3077?focusedCommentId=12971673&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_12971673 A patch, validated with mvn clean test in activemq-core would be great. When that feature is enabled, we need to weed out duplicates from the list to ensure the list does not grow in cyclic networks. > ArraysIndexOutOfBoundsException : -32768 in "BrokerService[xxx] Task" thread > ---------------------------------------------------------------------------- > > Key: AMQ-3077 > URL: https://issues.apache.org/jira/browse/AMQ-3077 > Project: ActiveMQ > Issue Type: Bug > Components: Broker > Affects Versions: 5.4.0, 5.4.1 > Environment: Linux, Java 6, Fuse Message Brokers 5.4.0-1 or 5.4.1-1 > Reporter: Eric > Attachments: activemq_Serveur.xml, activemq_SIBBusModule.xml, > activemq_SIBBusSupervisor.xml, bsm.log > > > Exception in thread "BrokerService[SUP-tterdp31v] Task" > java.lang.ArrayIndexOutOfBoundsException: -32767 > at > org.apache.activemq.openwire.BooleanStream.writeBoolean(BooleanStream.java:54) > at > org.apache.activemq.openwire.OpenWireFormat.tightMarshalNestedObject1(OpenWireFormat.java:377) > at > org.apache.activemq.openwire.v6.BaseDataStreamMarshaller.tightMarshalNestedObject1(BaseDataStreamMarshaller.java:131) > at > org.apache.activemq.openwire.v6.BaseDataStreamMarshaller.tightMarshalObjectArray1(BaseDataStreamMarshaller.java:357) > at > org.apache.activemq.openwire.v6.BrokerInfoMarshaller.tightMarshal1(BrokerInfoMarshaller.java:106) > at > org.apache.activemq.openwire.OpenWireFormat.tightMarshalNestedObject1(OpenWireFormat.java:397) > at > org.apache.activemq.openwire.v6.BaseDataStreamMarshaller.tightMarshalNestedObject1(BaseDataStreamMarshaller.java:131) > at > org.apache.activemq.openwire.v6.BaseDataStreamMarshaller.tightMarshalObjectArray1(BaseDataStreamMarshaller.java:357) > at > org.apache.activemq.openwire.v6.BrokerInfoMarshaller.tightMarshal1(BrokerInfoMarshaller.java:106) > at > org.apache.activemq.openwire.OpenWireFormat.tightMarshalNestedObject1(OpenWireFormat.java:397) > at > org.apache.activemq.openwire.v6.BaseDataStreamMarshaller.tightMarshalNestedObject1(BaseDataStreamMarshaller.java:131) > at > org.apache.activemq.openwire.v6.BaseDataStreamMarshaller.tightMarshalObjectArray1(BaseDataStreamMarshaller.java:357) > at > org.apache.activemq.openwire.v6.BrokerInfoMarshaller.tightMarshal1(BrokerInfoMarshaller.java:106) > at > org.apache.activemq.openwire.OpenWireFormat.tightMarshalNestedObject1(OpenWireFormat.java:397) > at > org.apache.activemq.openwire.v6.BaseDataStreamMarshaller.tightMarshalNestedObject1(BaseDataStreamMarshaller.java:131) > at > org.apache.activemq.openwire.v6.BaseDataStreamMarshaller.tightMarshalObjectArray1(BaseDataStreamMarshaller.java:357) > at > org.apache.activemq.openwire.v6.BrokerInfoMarshaller.tightMarshal1(BrokerInfoMarshaller.java:106) > at > org.apache.activemq.openwire.OpenWireFormat.tightMarshalNestedObject1(OpenWireFormat.java:397) > at > org.apache.activemq.openwire.v6.BaseDataStreamMarshaller.tightMarshalNestedObject1(BaseDataStreamMarshaller.java:131) > at > org.apache.activemq.openwire.v6.BaseDataStreamMarshaller.tightMarshalObjectArray1(BaseDataStreamMarshaller.java:357) > at > org.apache.activemq.openwire.v6.BrokerInfoMarshaller.tightMarshal1(BrokerInfoMarshaller.java:106) > at > org.apache.activemq.openwire.OpenWireFormat.tightMarshalNestedObject1(OpenWireFormat.java:397) > at > org.apache.activemq.openwire.v6.BaseDataStreamMarshaller.tightMarshalNestedObject1(BaseDataStreamMarshaller.java:131) > at > org.apache.activemq.openwire.v6.BaseDataStreamMarshaller.tightMarshalObjectArray1(BaseDataStreamMarshaller.java:357) > at > org.apache.activemq.openwire.v6.BrokerInfoMarshaller.tightMarshal1(BrokerInfoMarshaller.java:106) > at > org.apache.activemq.openwire.OpenWireFormat.tightMarshalNestedObject1(OpenWireFormat.java:397) > at > org.apache.activemq.openwire.v6.BaseDataStreamMarshaller.tightMarshalNestedObject1(BaseDataStreamMarshaller.java:131) > at > org.apache.activemq.openwire.v6.BaseDataStreamMarshaller.tightMarshalObjectArray1(BaseDataStreamMarshaller.java:357) > at > org.apache.activemq.openwire.v6.BrokerInfoMarshaller.tightMarshal1(BrokerInfoMarshaller.java:106) > at > org.apache.activemq.openwire.OpenWireFormat.tightMarshalNestedObject1(OpenWireFormat.java:397) > at > org.apache.activemq.openwire.v6.BaseDataStreamMarshaller.tightMarshalNestedObject1(BaseDataStreamMarshaller.java:131) > at > org.apache.activemq.openwire.v6.BaseDataStreamMarshaller.tightMarshalObjectArray1(BaseDataStreamMarshaller.java:357) > at > org.apache.activemq.openwire.v6.BrokerInfoMarshaller.tightMarshal1(BrokerInfoMarshaller.java:106) > at > org.apache.activemq.openwire.OpenWireFormat.marshal(OpenWireFormat.java:228) > at > org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:181) > at > org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:255) > at > org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:85) > at > org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:104) > at > org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40) > at > org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1249) > at > org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:810) > at > org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:846) > at > org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122) > at > org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:619) > Today this exception is not written in ActiveMQ logs but on the standard > output. > It seems that happens when network of brokers connections are stopped, but > I'm not sure at all. (the number of "bridge to ... stopped" seems to be the > same as the number of Exceptions detected) > So I need to dig into this problem to be more precise. > Eric-AWL -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.