Guy Allard created AMQ-4106:
-------------------------------
Summary: STOMP+NIO and Heartbeats gives consistent
InactivityIOException
Key: AMQ-4106
URL: https://issues.apache.org/jira/browse/AMQ-4106
Project: ActiveMQ
Issue Type: Bug
Components: stomp
Affects Versions: 5.7.0
Environment: Kernel:Linux tjjackson 3.0.0-26-generic #43-Ubuntu SMP
Tue Sep 25 17:19:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
AMQ: 5.7.0
Ubuntu: 11.10
Java: 1.6.0_24
>From activemq.xml:
<transportConnector name="stomp"
uri="stomp+nio://0.0.0.0:61613?trace=true"/>
Reporter: Guy Allard
When a stomp 1.1 client:
a) connects to a stomp+nio transport
b) elects to send heartbeats when the network is idle
the first several heartbeat sends appear to succeed, but then the connection is
forcibly closed by the broker.
>From activemq.log:
2012-10-14 09:53:07,755 | WARN | Transport Connection to:
tcp://127.0.0.1:36440 failed:
org.apache.activemq.transport.InactivityIOException: Channel was inactive for
too (>10000) long: tcp://127.0.0.1:36440 |
org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ
InactivityMonitor Worker
>From wrapper.log:
INFO | jvm 1 | 2012/10/14 09:53:07 | WARN | Transport Connection to:
tcp://127.0.0.1:36440 failed:
org.apache.activemq.transport.InactivityIOException: Channel was inactive for
too (>10000) long: tcp://127.0.0.1:36440
I am able to reproduce this with either:
a) the current Ruby stomp gem
b) the current golang stompngo package
It is unclear to me whether:
a) the AMQ heartbeat code is not tolerant as the specification suggests
b) the AMQ heartbeat receiver is not reading or recognizing heartbeats at all
In all cases these tests succeed with either:
a) AMQ 5.7.0 stomp without nio
b) Apollo
c) RabbitMQ
d) a client that only receives heartbeats, but does not send them
I will attach a Ruby client example shortly.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira