Uploaded image for project: 'ActiveMQ Artemis'
  1. ActiveMQ Artemis
  2. ARTEMIS-650

At HEAD, Artemis does not honor the zero in 0,xxxx in STOMP Heartbeats

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.3.0
    • 1.4.0
    • STOMP
    • None

    Description

      Seems like this started between 7bf62ff and 771dab1.

      It seems to be triggered by sending a CONNECT frame like:

      heart-beat:0,6000

      So the client is saying I cannot and will not send heartbeats.

      From my test logs at 7bf62ff (where this worked previously):

      2016/07/23 17:40:56.668473 ConnHeaders: [login guest passcode guest accept-version 1.1 host localhost heart-beat 0,6000]
      2016/07/23 17:40:56.670278 1314019264[TestHB11NoSend connect response CONNECTED [version 1.1 session 1314019264 server ActiveMQ-Artemis/1.4.0-SNAPSHOT ActiveMQ Artemis Messaging Engine heart-beat 6000,0] ]

      From my test logs at 771dab1 (where this now fails):

      2016/07/23 18:59:38.982344 ConnHeaders: [login guest passcode guest accept-version 1.1 host localhost heart-beat 0,6000]
      2016/07/23 18:59:39.045388 -2114425011[TestHB11NoSend connect response CONNECTED [version 1.1 session -2114425011 server ActiveMQ-Artemis/1.4.0-SNAPSHOT ActiveMQ Artemis Messaging Engine heart-beat 6000,500] ]
      2016/07/23 18:59:39.045415 -2114425011[TestHB11NoSend start sleep]
      2016/07/23 18:59:39.045446 -2114425011[1 Send 0 Receive 6000]
      2016/07/23 18:59:42.732338 -2114425011[RDR_READFRAME

      {ERROR [message AMQ119014: Did not receive data from /0:0:0:0:0:0:0:1:48576 within the 1,000ms connection TTL. The connection will now be closed.] []}

      RDR_RF_ERR <nil>]

      Based on broker behavior it seems that the client should be sending heartbeats every 500ms. But the client has already indicated it cannot and will not do that.

      What I see in artemis.log:
      18:59:25,259 INFO [org.apache.activemq.artemis] AMQ241001: HTTP Server started at http://localhost:9161
      18:59:25,259 INFO [org.apache.activemq.artemis] AMQ241002: Artemis Jolokia REST API available at http://localhost:9161/jolokia
      18:59:42,730 WARN [org.apache.activemq.artemis.core.server] AMQ222067: Connection failure has been detected: AMQ119014: Did not receive data from /0:0:0:0:0:0:0:1:48576 within the 1,000ms connection TTL. The connection will now be closed. [code=CONNECTION_TIMEDOUT]
      18:59:48,736 WARN [org.apache.activemq.artemis.core.protocol.stomp] AMQ222068: connection closed org.apache.activemq.artemis.core.protocol.stomp.StompConnection@3c9de67e

      Is is unclear where that '1,000ms' comes from - but it is also incorrect.

      FWIW, this is all emanating from the unit tests of this beast:

      https://github.com/gmallard/stompngo

      Attachments

        Activity

          People

            jbertram Justin Bertram
            gmallard Guy Allard
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: