[ 
https://issues.apache.org/jira/browse/AMQ-3077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12981314#action_12981314
 ] 

Eric commented on AMQ-3077:
---------------------------

We use ActiveMQ brokers with complex configuration (now we have around 50 
brokers in production on 2 sites for a french electricity provider smart-meter 
project. Our final goal is between 100 and 1000 brokers on several sites, 
connected by several different network of brokers).

In some cases, we want to use duplex configuration : when there is an 
identified "client broker" that connects to an "applicative service provider 
broker" (example an "SMS gateway" that sends SMS to SMS operator and 
asynchronously send SMS corresponding notifications to client application) 

And in some other cases, we want to use two single half-duplex configurations 
(when the two brokers are simultaneously client and provider for some parts of 
a global applicative service).

My original test only showed that 20 brokers with 2 half-duplex configurations 
didn't work. The original test didn't try with duplex connections : a loop in 
peers configuration was created with 2 half-duplex connections, and this loop 
was the easier way to generate such exception for the test.

In production environment now, we only use 2 half-duplex connections everywhere 
(for our 50 brokers) with 5.3.2 version. 

We want to be able to use duplex connections, but a bug was discovered with 
duplex connections and "not straight" network outages (we corrected this bug 
together some months ago). So we looked for a stable 5.4 version ...

We won't use at all failover mechanism since (and to resume), all application 
has its own embedded broker.

Thank you.
Eric-AWL

> 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
>            Assignee: Gary Tully
>             Fix For: 5.5.0
>
>         Attachments: activemq_Serveur.xml, activemq_SIBBusModule.xml, 
> activemq_SIBBusSupervisor.xml, bsm.log, NetworkOfTwentyBrokersTest.java, 
> TransportConnection.java, TransportConnector.java
>
>
> 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.

Reply via email to