activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chuck Rolke (JIRA)" <j...@apache.org>
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
                 URL: https://issues.apache.org/jira/browse/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:
{noformat}
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
{noformat}

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
conditions:
* 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:
{noformat}
chug@FJELD ~> qpid-receive -a chuck -m 1 --connection-options "{protocol:amqp1.0}" --print-headers
yes
Properties: {sn:1, ts:1414177685195174548, x-amqp-first-acquirer:True}

0
{noformat}

However, activemq running the client twice without the timeout and once with the timeout looks
like this:
{noformat}
chug@FJELD ~> qpid-receive -a chuck -m 1 --connection-options "{protocol:amqp1.0}" --print-headers
yes
chug@FJELD ~> qpid-receive -a chuck -m 1 --connection-options "{protocol:amqp1.0}" --print-headers
yes
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}

0
{noformat}

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:
http://people.apache.org/~chug/adverb_qpid_send_receive_1/

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
(v6.3.4#6332)

Mime
View raw message