Uploaded image for project: 'ActiveMQ Apollo (Retired)'
  1. ActiveMQ Apollo (Retired)
  2. APLO-88

ACK followed by DISCONNECT Leaves Message Available

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0-beta6
    • 1.0
    • apollo-stomp
    • None
    • Linux, Ubuntu 11.04

    Description

      An ACK (client mode) followed by a DISCONNECT with no wait time between the frames appears to leave message on the queue.

      I am seeing this with apache-apollo-1.0-20111012.032531-204-unix-distro.tar.gz and at least one previous snapshot.

      I stumbled on to this while working on a new 1.1 client in go. It occurs with either a 1.0 or 1.1 connection. The go code is very raw and not publicly available yet.

      However it recreates with 1.0 using the Ruby stomp gem. Code to recreate:

      1. ---------
        require 'rubygems'
        require 'stomp'
        #
        c = Stomp::Connection.open('my', 'mypw', 'localhost', 62613) # Apollo is here
        c.subscribe "/queue/rtest.01", :ack => :client
        c.publish "/queue/rtest.01", "a simple message"
        msg = c.receive
        c.ack msg.headers['message-id']
      2. sleep 5
        c.disconnect
      3. ---------

      And is (usually) accompanied by:

      2011-10-13 22:56:00,041 | DEBUG | Internal protocol error: message delivery acked/nacked multiple times: 1 | org.apache.activemq.apollo.broker.Subscription | hawtdispatch-DEFAULT-1

      in apollo.log

      Calling 'flush' on the socket seems to have no affect (in either Ruby or go).

      If you uncomment the 'sleep' in the above Ruby code, the problem will (usually) not occur.

      I do get some slightly different results with the go test bed, but let's start with this ............

      Attachments

        1. aplo-88-log.txt
          3 kB
          Guy Allard

        Activity

          People

            chirino Hiram R. Chirino
            gmallard Guy Allard
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: