You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by corcorda <da...@gmail.com> on 2008/01/21 10:58:39 UTC

ActiveMQ 5: Keepalive problems

We've been using ActiveMQ 4.1.1 for several months and it works well. I'm
looking at upgrading to version 5 to make use of some bug fixes and I'm
having trouble.

The main problem is inactivity exceptions keep happening. The exact
exception is at the bottom of this message. I haven't changed the connection
string from v4.1.1 and it works fine there. It will work if I disable
inactivity duration (set it to 0) but that means the broker doesn't know
when I've disconnected. So, without disabling the inactivity monitor is
there a way of making this work as it did in version4.1.1?

>From looking at the InactivityMonitor it looks like it should send a
KeepAliveInfo message at half the inactivity duration. Perhaps the broker
isn't sending a response back? Or perhaps it's not sending a response back
in time?

Something interesting and slightly related is that the FailoverTransport
doesn't reconnect correctly after being left run for a long time. I let it
run over the weekend where it reconnected lots of times but this morning the
blocking receive didn't pick up new messages in the message queue. Before
the weekend it worked fine, even after a failover reconnect.

Any help would be great.

Thanks.

21 Jan 09:04:20 WARN  [ActiveMQ: Inactivity Handler:
localhost/127.0.0.1:1616] FailoverTransport  - Transport failed, attempting
to automatically reconnect due to:
org.apache.activemq.transport.InactivityIOException: Channel was inactive
for too long: localhost/127.0.0.1:1616
org.apache.activemq.transport.InactivityIOException: Channel was inactive
for too long: localhost/127.0.0.1:1616
	at
org.apache.activemq.transport.InactivityMonitor$4.run(InactivityMonitor.java:108)
21 Jan 09:04:20 WARN  [ActiveMQ Transport: tcp://localhost/127.0.0.1:1616]
FailoverTransport  - Transport failed, attempting to automatically reconnect
due to: java.net.SocketException: Socket closed
java.net.SocketException: Socket closed
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(SocketInputStream.java:129)
	at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:50)
	at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:58)
	at java.io.DataInputStream.readInt(DataInputStream.java:353)
	at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:268)
	at
org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:192)
	at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:184)
	at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:172)
	at java.lang.Thread.run(Thread.java:595)
21 Jan 09:04:20 INFO  [ActiveMQ Task] FailoverTransport$1  - Successfully
reconnected to tcp://localhost:1616?wireFormat.maxInactivityDuration=5000

-- 
View this message in context: http://www.nabble.com/ActiveMQ-5%3A-Keepalive-problems-tp14994260s2354p14994260.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ 5: Keepalive problems

Posted by corcorda <da...@gmail.com>.

rajdavies wrote:
> 
> 
> This is fixed in the latest snapshot version
> 
> cheers,
> 
> Rob
> 
> 

Thanks Rob. I'll wait until it's released before trying to upgrade.

-- 
View this message in context: http://www.nabble.com/ActiveMQ-5%3A-Keepalive-problems-tp14994260s2354p14995407.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ 5: Keepalive problems

Posted by Rob Davies <ra...@gmail.com>.
Although the snapshot is 5.1 - we hope to be doing a maintenance  
release 5.0.1 - which will include the fix

On 28 Feb 2008, at 09:39, ssozonoff wrote:

>
> Hi Rob,
>
>
> rajdavies wrote:
>>
>> This is fixed in the latest snapshot version
>> cheers,
>> Rob
>>
>
> Do you have a reference to the fix? Can it be backported to 5.0 ?
>
> Thanks,
> Serge
> -- 
> View this message in context: http://www.nabble.com/ActiveMQ-5%3A-Keepalive-problems-tp14994260s2354p15732844.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>


Re: ActiveMQ 5: Keepalive problems

Posted by ssozonoff <se...@sozonoff.com>.
Hi Rob,


rajdavies wrote:
> 
> This is fixed in the latest snapshot version
> cheers,
> Rob
> 

Do you have a reference to the fix? Can it be backported to 5.0 ?

Thanks,
Serge
-- 
View this message in context: http://www.nabble.com/ActiveMQ-5%3A-Keepalive-problems-tp14994260s2354p15732844.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ 5: Keepalive problems

Posted by Rob Davies <ra...@gmail.com>.
Thanks Jason - will take a look!

cheers,

Rob
On Feb 7, 2008, at 6:04 AM, Jason Rosenberg wrote:

>
> All,
>
> In my case, the issue is related to using connection pooling, which  
> don't
> expose the idleTimeout property...
>
> I've created a work-around outlined in AMQ-1578, which is specific  
> to the
> connection pooling case.
>
> Now my sessions stay alive....
>
> Jason
>
>
>
> Jason Rosenberg wrote:
>>
>> Hi,
>>
>> I am having the same issue, this doesn't appear fixed, to me....
>>
>> I'm using a 5.1-SNAPSHOT dated 1/31....
>>
>> With this broker uri:
>>
>> failover:(tcp://localhost:61616,tcp://localhost:61617)? 
>> initialReconnectDelay=20&maxReconnectDelay=900&randomize=false
>>
>> I get this error, if I try to use a connection that idles more than  
>> 30
>> seconds:
>>
>> DEBUG [2008-02-02 18:21:16,927] thread:http-8080-exec-2
>> FailoverTransport -- Stopped.
>> WARN  [2008-02-02 18:21:16,928] thread:ActiveMQ Transport:
>> tcp://localhost/127.0.0.1:61616              FailoverTransport --
>> Transport failed, attempting to automatically reconnect due to:
>> java.net.SocketException: Socket closed
>> java.net.SocketException: Socket closed
>>        at java.net.SocketInputStream.socketRead0(Native Method)
>>        at java.net.SocketInputStream.read(SocketInputStream.java:129)
>>        at
>> org 
>> .apache 
>> .activemq 
>> .transport 
>> .tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:50)
>>        at
>> org 
>> .apache 
>> .activemq 
>> .transport 
>> .tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:58)
>>        at java.io.DataInputStream.readInt(DataInputStream.java:351)
>>        at
>> org 
>> .apache 
>> .activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>>        at
>> org 
>> .apache 
>> .activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java: 
>> 203)
>>        at
>> org 
>> .apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java: 
>> 195)
>>        at
>> org 
>> .apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java: 
>> 183)
>>        at java.lang.Thread.run(Thread.java:637)
>> DEBUG [2008-02-02 18:21:16,937] thread:http-8080-exec-2
>> FailoverTransport -- Waking up reconnect task
>> DEBUG [2008-02-02 18:21:16,937] thread:http-8080-exec-2
>> FailoverTransport -- Started.
>> DEBUG [2008-02-02 18:21:16,937] thread:http-8080-exec-2
>> FailoverTransport -- Waking up reconnect task
>> DEBUG [2008-02-02 18:21:16,939] thread:ActiveMQ Task
>> FailoverTransport -- Attempting connect to: tcp://localhost:61616
>> DEBUG [2008-02-02 18:21:16,942] thread:ActiveMQ Task
>> FailoverTransport -- Connection established
>> INFO  [2008-02-02 18:21:16,942] thread:ActiveMQ Task
>> FailoverTransport -- Successfully connected to tcp://localhost:61616
>>
>> Jason
>>
>>
>>
>> rajdavies wrote:
>>>
>>>
>>> On Jan 21, 2008, at 9:58 AM, corcorda wrote:
>>>
>>>>
>>>> We've been using ActiveMQ 4.1.1 for several months and it works
>>>> well. I'm
>>>> looking at upgrading to version 5 to make use of some bug fixes and
>>>> I'm
>>>> having trouble.
>>>>
>>>> The main problem is inactivity exceptions keep happening. The exact
>>>> exception is at the bottom of this message. I haven't changed the
>>>> connection
>>>> string from v4.1.1 and it works fine there. It will work if I  
>>>> disable
>>>> inactivity duration (set it to 0) but that means the broker doesn't
>>>> know
>>>> when I've disconnected. So, without disabling the inactivity  
>>>> monitor
>>>> is
>>>> there a way of making this work as it did in version4.1.1?
>>>>
>>>> From looking at the InactivityMonitor it looks like it should  
>>>> send a
>>>> KeepAliveInfo message at half the inactivity duration. Perhaps the
>>>> broker
>>>> isn't sending a response back? Or perhaps it's not sending a
>>>> response back
>>>> in time?
>>>>
>>>> Something interesting and slightly related is that the
>>>> FailoverTransport
>>>> doesn't reconnect correctly after being left run for a long time. I
>>>> let it
>>>> run over the weekend where it reconnected lots of times but this
>>>> morning the
>>>> blocking receive didn't pick up new messages in the message queue.
>>>> Before
>>>> the weekend it worked fine, even after a failover reconnect.
>>>>
>>>> Any help would be great.
>>>>
>>>> Thanks.
>>>>
>>>> 21 Jan 09:04:20 WARN  [ActiveMQ: Inactivity Handler:
>>>> localhost/127.0.0.1:1616] FailoverTransport  - Transport failed,
>>>> attempting
>>>> to automatically reconnect due to:
>>>> org.apache.activemq.transport.InactivityIOException: Channel was
>>>> inactive
>>>> for too long: localhost/127.0.0.1:1616
>>>> org.apache.activemq.transport.InactivityIOException: Channel was
>>>> inactive
>>>> for too long: localhost/127.0.0.1:1616
>>>> 	at
>>>> org.apache.activemq.transport.InactivityMonitor
>>>> $4.run(InactivityMonitor.java:108)
>>>> 21 Jan 09:04:20 WARN  [ActiveMQ Transport: tcp://localhost/
>>>> 127.0.0.1:1616]
>>>> FailoverTransport  - Transport failed, attempting to automatically
>>>> reconnect
>>>> due to: java.net.SocketException: Socket closed
>>>> java.net.SocketException: Socket closed
>>>> 	at java.net.SocketInputStream.socketRead0(Native Method)
>>>> 	at java.net.SocketInputStream.read(SocketInputStream.java:129)
>>>> 	at
>>>> org
>>>> .apache
>>>> .activemq
>>>> .transport
>>>> .tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:50)
>>>> 	at
>>>> org
>>>> .apache
>>>> .activemq
>>>> .transport
>>>> .tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:58)
>>>> 	at java.io.DataInputStream.readInt(DataInputStream.java:353)
>>>> 	at
>>>> org
>>>> .apache
>>>> .activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java: 
>>>> 268)
>>>> 	at
>>>> org
>>>> .apache
>>>> .activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:
>>>> 192)
>>>> 	at
>>>> org
>>>> .apache 
>>>> .activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:
>>>> 184)
>>>> 	at
>>>> org 
>>>> .apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:
>>>> 172)
>>>> 	at java.lang.Thread.run(Thread.java:595)
>>>> 21 Jan 09:04:20 INFO  [ActiveMQ Task] FailoverTransport$1  -
>>>> Successfully
>>>> reconnected to tcp://localhost:1616?
>>>> wireFormat.maxInactivityDuration=5000
>>>>
>>>> -- 
>>>> View this message in context:
>>>> http://www.nabble.com/ActiveMQ-5%3A-Keepalive-problems-tp14994260s2354p14994260.html
>>>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>>>
>>>
>>> This is fixed in the latest snapshot version
>>>
>>> cheers,
>>>
>>> Rob
>>>
>>>
>>>
>>> Rob Davies
>>> 'Go further faster with Apache Camel!'
>>> http://rajdavies.blogspot.com/
>>>
>>>
>>>
>>>
>>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/ActiveMQ-5%3A-Keepalive-problems-tp14994260s2354p15327950.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>


Re: ActiveMQ 5: Keepalive problems

Posted by Jason Rosenberg <jr...@shopzilla.com>.
All,

In my case, the issue is related to using connection pooling, which don't
expose the idleTimeout property...

I've created a work-around outlined in AMQ-1578, which is specific to the
connection pooling case.

Now my sessions stay alive....

Jason



Jason Rosenberg wrote:
> 
> Hi,
> 
> I am having the same issue, this doesn't appear fixed, to me....
> 
> I'm using a 5.1-SNAPSHOT dated 1/31....
> 
> With this broker uri:
> 
> failover:(tcp://localhost:61616,tcp://localhost:61617)?initialReconnectDelay=20&maxReconnectDelay=900&randomize=false
> 
> I get this error, if I try to use a connection that idles more than 30
> seconds:
> 
> DEBUG [2008-02-02 18:21:16,927] thread:http-8080-exec-2                   
> FailoverTransport -- Stopped.
> WARN  [2008-02-02 18:21:16,928] thread:ActiveMQ Transport:
> tcp://localhost/127.0.0.1:61616              FailoverTransport --
> Transport failed, attempting to automatically reconnect due to:
> java.net.SocketException: Socket closed
> java.net.SocketException: Socket closed
>         at java.net.SocketInputStream.socketRead0(Native Method)
>         at java.net.SocketInputStream.read(SocketInputStream.java:129)
>         at
> org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:50)
>         at
> org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:58)
>         at java.io.DataInputStream.readInt(DataInputStream.java:351)
>         at
> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:203)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:195)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
>         at java.lang.Thread.run(Thread.java:637)
> DEBUG [2008-02-02 18:21:16,937] thread:http-8080-exec-2                   
> FailoverTransport -- Waking up reconnect task
> DEBUG [2008-02-02 18:21:16,937] thread:http-8080-exec-2                   
> FailoverTransport -- Started.
> DEBUG [2008-02-02 18:21:16,937] thread:http-8080-exec-2                   
> FailoverTransport -- Waking up reconnect task
> DEBUG [2008-02-02 18:21:16,939] thread:ActiveMQ Task                      
> FailoverTransport -- Attempting connect to: tcp://localhost:61616
> DEBUG [2008-02-02 18:21:16,942] thread:ActiveMQ Task                      
> FailoverTransport -- Connection established
> INFO  [2008-02-02 18:21:16,942] thread:ActiveMQ Task                      
> FailoverTransport -- Successfully connected to tcp://localhost:61616
> 
> Jason
> 
> 
> 
> rajdavies wrote:
>> 
>> 
>> On Jan 21, 2008, at 9:58 AM, corcorda wrote:
>> 
>>>
>>> We've been using ActiveMQ 4.1.1 for several months and it works  
>>> well. I'm
>>> looking at upgrading to version 5 to make use of some bug fixes and  
>>> I'm
>>> having trouble.
>>>
>>> The main problem is inactivity exceptions keep happening. The exact
>>> exception is at the bottom of this message. I haven't changed the  
>>> connection
>>> string from v4.1.1 and it works fine there. It will work if I disable
>>> inactivity duration (set it to 0) but that means the broker doesn't  
>>> know
>>> when I've disconnected. So, without disabling the inactivity monitor  
>>> is
>>> there a way of making this work as it did in version4.1.1?
>>>
>>> From looking at the InactivityMonitor it looks like it should send a
>>> KeepAliveInfo message at half the inactivity duration. Perhaps the  
>>> broker
>>> isn't sending a response back? Or perhaps it's not sending a  
>>> response back
>>> in time?
>>>
>>> Something interesting and slightly related is that the  
>>> FailoverTransport
>>> doesn't reconnect correctly after being left run for a long time. I  
>>> let it
>>> run over the weekend where it reconnected lots of times but this  
>>> morning the
>>> blocking receive didn't pick up new messages in the message queue.  
>>> Before
>>> the weekend it worked fine, even after a failover reconnect.
>>>
>>> Any help would be great.
>>>
>>> Thanks.
>>>
>>> 21 Jan 09:04:20 WARN  [ActiveMQ: Inactivity Handler:
>>> localhost/127.0.0.1:1616] FailoverTransport  - Transport failed,  
>>> attempting
>>> to automatically reconnect due to:
>>> org.apache.activemq.transport.InactivityIOException: Channel was  
>>> inactive
>>> for too long: localhost/127.0.0.1:1616
>>> org.apache.activemq.transport.InactivityIOException: Channel was  
>>> inactive
>>> for too long: localhost/127.0.0.1:1616
>>> 	at
>>> org.apache.activemq.transport.InactivityMonitor 
>>> $4.run(InactivityMonitor.java:108)
>>> 21 Jan 09:04:20 WARN  [ActiveMQ Transport: tcp://localhost/ 
>>> 127.0.0.1:1616]
>>> FailoverTransport  - Transport failed, attempting to automatically  
>>> reconnect
>>> due to: java.net.SocketException: Socket closed
>>> java.net.SocketException: Socket closed
>>> 	at java.net.SocketInputStream.socketRead0(Native Method)
>>> 	at java.net.SocketInputStream.read(SocketInputStream.java:129)
>>> 	at
>>> org 
>>> .apache 
>>> .activemq 
>>> .transport 
>>> .tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:50)
>>> 	at
>>> org 
>>> .apache 
>>> .activemq 
>>> .transport 
>>> .tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:58)
>>> 	at java.io.DataInputStream.readInt(DataInputStream.java:353)
>>> 	at
>>> org 
>>> .apache 
>>> .activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:268)
>>> 	at
>>> org 
>>> .apache 
>>> .activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java: 
>>> 192)
>>> 	at
>>> org 
>>> .apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java: 
>>> 184)
>>> 	at
>>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java: 
>>> 172)
>>> 	at java.lang.Thread.run(Thread.java:595)
>>> 21 Jan 09:04:20 INFO  [ActiveMQ Task] FailoverTransport$1  -  
>>> Successfully
>>> reconnected to tcp://localhost:1616? 
>>> wireFormat.maxInactivityDuration=5000
>>>
>>> -- 
>>> View this message in context:
>>> http://www.nabble.com/ActiveMQ-5%3A-Keepalive-problems-tp14994260s2354p14994260.html
>>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>>
>> 
>> This is fixed in the latest snapshot version
>> 
>> cheers,
>> 
>> Rob
>> 
>> 
>> 
>> Rob Davies
>> 'Go further faster with Apache Camel!'
>> http://rajdavies.blogspot.com/
>> 
>> 
>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/ActiveMQ-5%3A-Keepalive-problems-tp14994260s2354p15327950.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ 5: Keepalive problems

Posted by Jason Rosenberg <jr...@shopzilla.com>.
Hi,

I am having the same issue, this doesn't appear fixed, to me....

I'm using a 5.1-SNAPSHOT dated 1/31....

With this broker uri:

failover:(tcp://localhost:61616,tcp://localhost:61617)?initialReconnectDelay=20&maxReconnectDelay=900&randomize=false

I get this error, if I try to use a connection that idles more than 30
seconds:

DEBUG [2008-02-02 18:21:16,927] thread:http-8080-exec-2                   
FailoverTransport -- Stopped.
WARN  [2008-02-02 18:21:16,928] thread:ActiveMQ Transport:
tcp://localhost/127.0.0.1:61616              FailoverTransport -- Transport
failed, attempting to automatically reconnect due to:
java.net.SocketException: Socket closed
java.net.SocketException: Socket closed
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:50)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:58)
        at java.io.DataInputStream.readInt(DataInputStream.java:351)
        at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
        at
org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:203)
        at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:195)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
        at java.lang.Thread.run(Thread.java:637)
DEBUG [2008-02-02 18:21:16,937] thread:http-8080-exec-2                   
FailoverTransport -- Waking up reconnect task
DEBUG [2008-02-02 18:21:16,937] thread:http-8080-exec-2                   
FailoverTransport -- Started.
DEBUG [2008-02-02 18:21:16,937] thread:http-8080-exec-2                   
FailoverTransport -- Waking up reconnect task
DEBUG [2008-02-02 18:21:16,939] thread:ActiveMQ Task                      
FailoverTransport -- Attempting connect to: tcp://localhost:61616
DEBUG [2008-02-02 18:21:16,942] thread:ActiveMQ Task                      
FailoverTransport -- Connection established
INFO  [2008-02-02 18:21:16,942] thread:ActiveMQ Task                      
FailoverTransport -- Successfully connected to tcp://localhost:61616

Jason



rajdavies wrote:
> 
> 
> On Jan 21, 2008, at 9:58 AM, corcorda wrote:
> 
>>
>> We've been using ActiveMQ 4.1.1 for several months and it works  
>> well. I'm
>> looking at upgrading to version 5 to make use of some bug fixes and  
>> I'm
>> having trouble.
>>
>> The main problem is inactivity exceptions keep happening. The exact
>> exception is at the bottom of this message. I haven't changed the  
>> connection
>> string from v4.1.1 and it works fine there. It will work if I disable
>> inactivity duration (set it to 0) but that means the broker doesn't  
>> know
>> when I've disconnected. So, without disabling the inactivity monitor  
>> is
>> there a way of making this work as it did in version4.1.1?
>>
>> From looking at the InactivityMonitor it looks like it should send a
>> KeepAliveInfo message at half the inactivity duration. Perhaps the  
>> broker
>> isn't sending a response back? Or perhaps it's not sending a  
>> response back
>> in time?
>>
>> Something interesting and slightly related is that the  
>> FailoverTransport
>> doesn't reconnect correctly after being left run for a long time. I  
>> let it
>> run over the weekend where it reconnected lots of times but this  
>> morning the
>> blocking receive didn't pick up new messages in the message queue.  
>> Before
>> the weekend it worked fine, even after a failover reconnect.
>>
>> Any help would be great.
>>
>> Thanks.
>>
>> 21 Jan 09:04:20 WARN  [ActiveMQ: Inactivity Handler:
>> localhost/127.0.0.1:1616] FailoverTransport  - Transport failed,  
>> attempting
>> to automatically reconnect due to:
>> org.apache.activemq.transport.InactivityIOException: Channel was  
>> inactive
>> for too long: localhost/127.0.0.1:1616
>> org.apache.activemq.transport.InactivityIOException: Channel was  
>> inactive
>> for too long: localhost/127.0.0.1:1616
>> 	at
>> org.apache.activemq.transport.InactivityMonitor 
>> $4.run(InactivityMonitor.java:108)
>> 21 Jan 09:04:20 WARN  [ActiveMQ Transport: tcp://localhost/ 
>> 127.0.0.1:1616]
>> FailoverTransport  - Transport failed, attempting to automatically  
>> reconnect
>> due to: java.net.SocketException: Socket closed
>> java.net.SocketException: Socket closed
>> 	at java.net.SocketInputStream.socketRead0(Native Method)
>> 	at java.net.SocketInputStream.read(SocketInputStream.java:129)
>> 	at
>> org 
>> .apache 
>> .activemq 
>> .transport 
>> .tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:50)
>> 	at
>> org 
>> .apache 
>> .activemq 
>> .transport 
>> .tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:58)
>> 	at java.io.DataInputStream.readInt(DataInputStream.java:353)
>> 	at
>> org 
>> .apache 
>> .activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:268)
>> 	at
>> org 
>> .apache 
>> .activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java: 
>> 192)
>> 	at
>> org 
>> .apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java: 
>> 184)
>> 	at
>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java: 
>> 172)
>> 	at java.lang.Thread.run(Thread.java:595)
>> 21 Jan 09:04:20 INFO  [ActiveMQ Task] FailoverTransport$1  -  
>> Successfully
>> reconnected to tcp://localhost:1616? 
>> wireFormat.maxInactivityDuration=5000
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/ActiveMQ-5%3A-Keepalive-problems-tp14994260s2354p14994260.html
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
> 
> This is fixed in the latest snapshot version
> 
> cheers,
> 
> Rob
> 
> 
> 
> Rob Davies
> 'Go further faster with Apache Camel!'
> http://rajdavies.blogspot.com/
> 
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/ActiveMQ-5%3A-Keepalive-problems-tp14994260s2354p15248664.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ 5: Keepalive problems

Posted by Rob Davies <ra...@gmail.com>.
On Jan 21, 2008, at 9:58 AM, corcorda wrote:

>
> We've been using ActiveMQ 4.1.1 for several months and it works  
> well. I'm
> looking at upgrading to version 5 to make use of some bug fixes and  
> I'm
> having trouble.
>
> The main problem is inactivity exceptions keep happening. The exact
> exception is at the bottom of this message. I haven't changed the  
> connection
> string from v4.1.1 and it works fine there. It will work if I disable
> inactivity duration (set it to 0) but that means the broker doesn't  
> know
> when I've disconnected. So, without disabling the inactivity monitor  
> is
> there a way of making this work as it did in version4.1.1?
>
> From looking at the InactivityMonitor it looks like it should send a
> KeepAliveInfo message at half the inactivity duration. Perhaps the  
> broker
> isn't sending a response back? Or perhaps it's not sending a  
> response back
> in time?
>
> Something interesting and slightly related is that the  
> FailoverTransport
> doesn't reconnect correctly after being left run for a long time. I  
> let it
> run over the weekend where it reconnected lots of times but this  
> morning the
> blocking receive didn't pick up new messages in the message queue.  
> Before
> the weekend it worked fine, even after a failover reconnect.
>
> Any help would be great.
>
> Thanks.
>
> 21 Jan 09:04:20 WARN  [ActiveMQ: Inactivity Handler:
> localhost/127.0.0.1:1616] FailoverTransport  - Transport failed,  
> attempting
> to automatically reconnect due to:
> org.apache.activemq.transport.InactivityIOException: Channel was  
> inactive
> for too long: localhost/127.0.0.1:1616
> org.apache.activemq.transport.InactivityIOException: Channel was  
> inactive
> for too long: localhost/127.0.0.1:1616
> 	at
> org.apache.activemq.transport.InactivityMonitor 
> $4.run(InactivityMonitor.java:108)
> 21 Jan 09:04:20 WARN  [ActiveMQ Transport: tcp://localhost/ 
> 127.0.0.1:1616]
> FailoverTransport  - Transport failed, attempting to automatically  
> reconnect
> due to: java.net.SocketException: Socket closed
> java.net.SocketException: Socket closed
> 	at java.net.SocketInputStream.socketRead0(Native Method)
> 	at java.net.SocketInputStream.read(SocketInputStream.java:129)
> 	at
> org 
> .apache 
> .activemq 
> .transport 
> .tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:50)
> 	at
> org 
> .apache 
> .activemq 
> .transport 
> .tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:58)
> 	at java.io.DataInputStream.readInt(DataInputStream.java:353)
> 	at
> org 
> .apache 
> .activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:268)
> 	at
> org 
> .apache 
> .activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java: 
> 192)
> 	at
> org 
> .apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java: 
> 184)
> 	at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java: 
> 172)
> 	at java.lang.Thread.run(Thread.java:595)
> 21 Jan 09:04:20 INFO  [ActiveMQ Task] FailoverTransport$1  -  
> Successfully
> reconnected to tcp://localhost:1616? 
> wireFormat.maxInactivityDuration=5000
>
> -- 
> View this message in context: http://www.nabble.com/ActiveMQ-5%3A-Keepalive-problems-tp14994260s2354p14994260.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>

This is fixed in the latest snapshot version

cheers,

Rob



Rob Davies
'Go further faster with Apache Camel!'
http://rajdavies.blogspot.com/