You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2012/10/23 21:15:12 UTC

[jira] [Resolved] (AMQ-4106) STOMP+NIO and Heartbeats gives consistent InactivityIOException

     [ https://issues.apache.org/jira/browse/AMQ-4106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish resolved AMQ-4106.
-------------------------------

    Resolution: Fixed

Fixed now, also should fix a similar issue with AMQP NIO transports. 
                
> 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
>            Assignee: Timothy Bish
>             Fix For: 5.8.0
>
>         Attachments: nioheartb.rb
>
>
> 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