Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-4106

STOMP+NIO and Heartbeats gives consistent InactivityIOException

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.7.0
    • 5.8.0
    • STOMP
    • None

    Description

      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.

      Attachments

        1. nioheartb.rb
          2 kB
          Guy Allard

        Activity

          People

            tabish Timothy A. Bish
            gmallard Guy Allard
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: