ActiveMQ
  1. ActiveMQ
  2. AMQ-3476

Stomp 1.1 - messages sent after heart-beat timeout are lost

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.x
    • Fix Version/s: 5.6.0
    • Component/s: Transport
    • Labels:
    • Environment:

      Windows Vista SP 2, Apache ActiveMQ 5.6 Snapshot 2011-08-24

      Description

      A Stomp 1.1 can send messages after the timeout specified in the heart-beat header and these messages will not be rejected. They will also not be visible in the admin console so it appears as if they are lost.

      Example:

      client sends:

      CONNECT
      accept-version:1.1
      server:localhost
      heart-beat:1000,0

      received:
      CONNECTED
      heart-beat:0,2000
      session:ID:mj-PC-49595-1314256305896-2:24
      server:ActiveMQ/5.6-SNAPSHOT
      version:1.1

      • here the client waits for about 5 seconds -

      client sends a message:
      SEND
      destination:/queue/TOOL.DEFAULT

      This should fail but the socket connection is still usable for outgoing data.

      Reading from the connection however fails as expected if the client did not sent any heart beat signals, so this problem seems to happen only for inbound data (from client to server).

        Activity

        Hide
        Timothy Bish added a comment -

        Would be good if you could create a junit test case and attach it

        Show
        Timothy Bish added a comment - Would be good if you could create a junit test case and attach it
        Hide
        Timothy Bish added a comment -

        Looks like your classpath is not right, how are you running the tests? From inside and IDE?

        Show
        Timothy Bish added a comment - Looks like your classpath is not right, how are you running the tests? From inside and IDE?
        Hide
        Timothy Bish added a comment -

        The Stomp v1.1 tests have a case that sends the same CONNECT header and waits for the broker to close the connection which it does. If you can provide a test case that shows an issue please reopen and attach it.

        Show
        Timothy Bish added a comment - The Stomp v1.1 tests have a case that sends the same CONNECT header and waits for the broker to close the connection which it does. If you can provide a test case that shows an issue please reopen and attach it.
        Hide
        Michael Justin added a comment -

        In the latest snapshots the problem (lost messages) did not occur anymore.

        I have created https://issues.apache.org/jira/browse/AMQ-3484 with a test case for sending messages after missing heartbeats.

        Show
        Michael Justin added a comment - In the latest snapshots the problem (lost messages) did not occur anymore. I have created https://issues.apache.org/jira/browse/AMQ-3484 with a test case for sending messages after missing heartbeats.
        Hide
        Gary Tully added a comment -

        reopen to set fix version to 5.6

        Show
        Gary Tully added a comment - reopen to set fix version to 5.6
        Hide
        Gary Tully added a comment -

        closing again with correct fix version

        Show
        Gary Tully added a comment - closing again with correct fix version

          People

          • Assignee:
            Unassigned
            Reporter:
            Michael Justin
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development