Hi, did you try 5.2.0 version? Probably some of those issues are already addressed.
Cheers -- Dejan Bosanac Open Source Integration - http://fusesource.com/ ActiveMQ in Action - http://www.manning.com/snyder/ Blog - http://www.nighttale.net On Thu, Apr 2, 2009 at 6:47 PM, mdasari <mdas...@gmail.com> wrote: > > Hi, > > We are using AMQ 5.1.0 on some of our servers. We noticed that (on few > servers) after a while the AMQ failover transport stops working thus making > messages to be not delivered. (from a producer AMQ server box to a central > consumer AMQ server box through camel) > > -------------------------------------------------------------- > The following is the data from our log files: > -------------------------------------------------------------- > INFO | jvm 1 | 2009/03/16 21:25:42 | DEBUG FailoverTransport > - Connection established > INFO | jvm 1 | 2009/03/16 21:25:42 | INFO FailoverTransport > - Successfully connected to tcp://10.87.129.196:61616 > INFO | jvm 1 | 2009/03/16 21:25:43 | DEBUG JmsConfiguration$2 > - Executing callback on JMS Session: ActiveMQSession > {id=ID:LOCALMQ-3675-1236961500048-2:218:1,started=false} > INFO | jvm 1 | 2009/03/16 21:25:43 | DEBUG JmsProducer > - Endpoint[centralMQ:topic:Topic1] sending JMS message: ActiveMQTextMessage > {...} > INFO | jvm 1 | 2009/03/16 21:25:43 | DEBUG JmsConfiguration$2 > - Sending created message: ActiveMQTextMessage {...} > INFO | jvm 1 | 2009/03/16 21:25:43 | DEBUG ActiveMQSession > - ID:LOCALMQ-3675-1236961500048-2:218:1 sending message: > ActiveMQTextMessage > {...} > INFO | jvm 1 | 2009/03/16 21:25:43 | DEBUG FailoverTransport > - Stopped. > INFO | jvm 1 | 2009/03/16 21:25:43 | DEBUG TcpTransport > - Stopping transport tcp:///10.87.129.196:61616 > INFO | jvm 1 | 2009/03/16 21:26:00 | DEBUG AMQPersistenceAdapter > - Checkpoint started. > INFO | jvm 1 | 2009/03/16 21:26:00 | DEBUG AMQPersistenceAdapter > - Checkpoint done. > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG ActiveMQMessageConsumer > - ID:LOCALMQ-3675-1236961500048-2:0:1:1 received message: MessageDispatch > {...} > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG EndpointMessageListener > - Endpoint[localMQ:topic:Topic1?clientId=...&subscriptionDurable=true] > receiving JMS message: ActiveMQTextMessage {...} > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG FailoverTransport > - Waking up reconnect task > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG FailoverTransport > - Started. > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG FailoverTransport > - Waking up reconnect task > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG FailoverTransport > - Attempting connect to: tcp://10.87.129.196:61616 > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG WireFormatNegotiator > - Sending: WireFormatInfo { version=3, properties={CacheSize=1024, > CacheEnabled=true, SizePrefixDisabled=false, > MaxInactivityDurationInitalDelay=10000, TcpNoDelayEnabled=true, > MaxInactivityDuration=30000, TightEncodingEnabled=true, > StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]} > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG WireFormatNegotiator > - Received WireFormat: WireFormatInfo { version=3, > properties={CacheSize=1024, CacheEnabled=true, SizePrefixDisabled=false, > MaxInactivityDurationInitalDelay=10000, TcpNoDelayEnabled=true, > MaxInactivityDuration=30000, TightEncodingEnabled=true, > StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]} > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG WireFormatNegotiator > - tcp:///10.87.129.196:61616 before negotiation: OpenWireFormat{version=3, > cacheEnabled=false, stackTraceEnabled=false, tightEncodingEnabled=false, > sizePrefixDisabled=false} > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG WireFormatNegotiator > - tcp:///10.87.129.196:61616 after negotiation: OpenWireFormat{version=3, > cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true, > sizePrefixDisabled=false} > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG FailoverTransport > - Connection established > INFO | jvm 1 | 2009/03/16 21:26:13 | INFO FailoverTransport > - Successfully connected to tcp://10.87.129.196:61616 > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG JmsConfiguration$2 > - Executing callback on JMS Session: ActiveMQSession > {id=ID:LOCALMQ-3675-1236961500048-2:219:1,started=false} > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG JmsProducer > - Endpoint[centralMQ:topic:Topic1] sending JMS message: ActiveMQTextMessage > {...} > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG JmsConfiguration$2 > - Sending created message: ActiveMQTextMessage {...} > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG ActiveMQSession > - ID:LOCALMQ-3675-1236961500048-2:219:1 sending message: > ActiveMQTextMessage > {...} > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG FailoverTransport > - Stopped. > INFO | jvm 1 | 2009/03/16 21:26:13 | DEBUG TcpTransport > - Stopping transport tcp:///10.87.129.196:61616 > INFO | jvm 1 | 2009/03/16 21:26:14 | DEBUG ActiveMQMessageConsumer > - ID:LOCALMQ-3675-1236961500048-2:0:1:1 received message: MessageDispatch > {...} > INFO | jvm 1 | 2009/03/16 21:26:14 | DEBUG EndpointMessageListener > - Endpoint[localmq:topic:Topic1?clientId=...&subscriptionDurable=true] > receiving JMS message: ActiveMQTextMessage {...} > INFO | jvm 1 | 2009/03/16 21:26:15 | DEBUG FailoverTransport > - Waiting 10 ms before attempting connection. > INFO | jvm 1 | 2009/03/16 21:26:15 | Exception in thread "ActiveMQ > Failover Worker: 1889455" java.lang.NullPointerException > INFO | jvm 1 | 2009/03/16 21:26:15 | at > > org.apache.activemq.transport.failover.FailoverTransport$2.iterate(FailoverTransport.java:124) > INFO | jvm 1 | 2009/03/16 21:26:15 | at > > org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98) > INFO | jvm 1 | 2009/03/16 21:26:15 | at > > org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36) > INFO | jvm 1 | 2009/03/16 21:26:15 | DEBUG FailoverTransport > - Waking up reconnect task > INFO | jvm 1 | 2009/03/16 21:26:15 | DEBUG FailoverTransport > - Started. > INFO | jvm 1 | 2009/03/16 21:26:15 | DEBUG FailoverTransport > - Waking up reconnect task > INFO | jvm 1 | 2009/03/16 21:27:00 | DEBUG AMQPersistenceAdapter > - Checkpoint started. > INFO | jvm 1 | 2009/03/16 21:27:00 | DEBUG AMQPersistenceAdapter > - Checkpoint done. > INFO | jvm 1 | 2009/03/16 21:28:00 | DEBUG AMQPersistenceAdapter > - Checkpoint started. > --------------------------------------------- > > > Basically, it was able to deliver a message (and few more prior to that > time > period), but for another message that is very close (in time) to the > previous message it is running into a NullPointerException, after that it > stops functioning totally. > > I took a brief look at the FailoverTransport.java code, I'm not an expert > on > the AMQ code, but I suspect that FailoverTransport.java reconnectTask > member > variable is attempted to be used by the task-runner thread before it was > completely initialized (basically race conditions without proper > synchronization) > > I can provide more details on our network topology if it is required. I > searched around but didn't find any related issues or bugs. Does anyone > know > if this is a known issue, and which version this is going to be addressed. > If not I'll open a JIRA. > > Appreciate your help. > > cheers > - mdasari > > > -- > View this message in context: > http://www.nabble.com/FailoverTransport-stops-working-after-a-while-tp22851122p22851122.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > >