activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chuck Rolke (JIRA)" <>
Subject [jira] [Created] (AMQ-5413) AMQP test client delivery/redelivery anomoly
Date Fri, 24 Oct 2014 20:15:34 GMT
Chuck Rolke created AMQ-5413:

             Summary: AMQP test client delivery/redelivery anomoly
                 Key: AMQ-5413
             Project: ActiveMQ
          Issue Type: Bug
          Components: AMQP, Broker
    Affects Versions: 5.11.0
         Environment: broker: snapshot apache-activemq-5.11-20141022.222801-124-bin.tar.gz
  Wed Oct 22 22:28:02 UTC 2014
host: Linux Fedora 19 x64
clients: Apache Qpid C++ messaging qpid-send qpid-receive (current trunk)
protocol: AMQP 1.0
            Reporter: Chuck Rolke

Using Apache Qpid test clients qpid-send and qpid-receive ActiveMQ broker behaves differently
from qpidd and I'm wondering if the difference is important.

The test code command lines are:
qpid-send -a "chuck; {create:always}" --connection-options {protocol:amqp1.0} --sequence yes
--content-string 0
qpid-receive -a chuck -m 1 --connection-options "{protocol:amqp1.0}" --print-headers yes

When I run the tests against qpidd they send one message and receive one message every time.
However against ActiveMQ 5.11 the qpid-receive does not receive the message until one of several
* the qpid-receive command also includes "--timeout 1"
* the qpid-receive command is repeated several, possibly dozens, of times.

When qpidd broker is running or when activemq is running and --timeout is specified then the
qpid-receive output is:
chug@FJELD ~> qpid-receive -a chuck -m 1 --connection-options "{protocol:amqp1.0}" --print-headers
Properties: {sn:1, ts:1414177685195174548, x-amqp-first-acquirer:True}


However, activemq running the client twice without the timeout and once with the timeout looks
like this:
chug@FJELD ~> qpid-receive -a chuck -m 1 --connection-options "{protocol:amqp1.0}" --print-headers
chug@FJELD ~> qpid-receive -a chuck -m 1 --connection-options "{protocol:amqp1.0}" --print-headers
chug@FJELD ~> qpid-receive -a chuck -m 1 --connection-options "{protocol:amqp1.0}" --print-headers
yes --timeout 1
Redelivered: true
Properties: {sn:1, ts:1414178091185765136, x-amqp-delivery-count:1}


The false receive attempts make the message look like it was already delivered, hence the
Redelivered: true, first-acquirer absent and the x-amqp-delivery-count setting.

Views of the protocol interactions between the brokers and clients are here:

I ran the tests twice on ActiveMQ with the tcpnodelay option turned on and off but that didn't
seem to make any difference.

This message was sent by Atlassian JIRA

View raw message