You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Lorenz Quack (JIRA)" <ji...@apache.org> on 2017/06/20 15:12:00 UTC

[jira] [Created] (QPIDJMS-296) JMS client does not assign unique deliveryTag for messages sent on the same link

Lorenz Quack created QPIDJMS-296:
------------------------------------

             Summary: JMS client does not assign unique deliveryTag for messages sent on the same link
                 Key: QPIDJMS-296
                 URL: https://issues.apache.org/jira/browse/QPIDJMS-296
             Project: Qpid JMS
          Issue Type: Bug
          Components: qpid-jms-client
    Affects Versions: 0.23.0
            Reporter: Lorenz Quack


I am creating a {{MessageProducer}} and sending two messages. In the protocol trace I can see that the two transfers are using the same deliveryTag. This is in violation of the AMQP1.0 specification. [Section 2.7.5|http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-transfer] states with regards to the {{delivery-tag}}:
bq. Uniquely identifies the delivery attempt for a given message on this link. This field MUST be specified for the first transfer of a multi-transfer message and can only be omitted for continuation transfers.

This a snippet of code:
{code}
Connection connection = getConnectionWithPrefetch(0);
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue("testQueue");
MessageProducer producer = session.createProducer(queue);
producer.send(session.createMessage());
producer.send(session.createMessage());
{code}

Excerpt from the protocol trace:
{noformat}
[1583014487:1] -> Attach{name='qpid-jms:sender:ID:0172b04b-3bc8-4e30-a589-57a9dae031aa:1:1:2:ZeroPrefetchTest-testZeroPrefetch', handle=1, role=SENDER, sndSettleMode=UNSETTLED, rcvSettleMode=FIRST, source=Source{address='ID:0172b04b-3bc8-4e30-a589-57a9dae031aa:1:1:2', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, filter=null, defaultOutcome=null, outcomes=[amqp:accepted:list, amqp:rejected:list, amqp:released:list, amqp:modified:list], capabilities=null}, target=Target{address='ZeroPrefetchTest-testZeroPrefetch', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=[queue]}, unsettled=null, incompleteUnsettled=false, initialDeliveryCount=0, maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=[DELAYED_DELIVERY], properties=null}
[1583014487:1] <- Attach{name='qpid-jms:sender:ID:0172b04b-3bc8-4e30-a589-57a9dae031aa:1:1:2:ZeroPrefetchTest-testZeroPrefetch', handle=1, role=RECEIVER, sndSettleMode=UNSETTLED, rcvSettleMode=FIRST, source=Source{address='ID:0172b04b-3bc8-4e30-a589-57a9dae031aa:1:1:2', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, filter=null, defaultOutcome=null, outcomes=[amqp:accepted:list, amqp:rejected:list, amqp:released:list, amqp:modified:list], capabilities=null}, target=Target{address='ZeroPrefetchTest-testZeroPrefetch', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=[REJECT_UNROUTABLE, DELAYED_DELIVERY]}, unsettled={}, incompleteUnsettled=false, initialDeliveryCount=null, maxMessageSize=null, offeredCapabilities=[REJECT_UNROUTABLE, DELAYED_DELIVERY], desiredCapabilities=null, properties={}}
[1583014487:1] <- Flow{nextIncomingId=2, incomingWindow=8192, nextOutgoingId=0, outgoingWindow=2048, handle=1, deliveryCount=0, linkCredit=20000, available=null, drain=false, echo=false, properties=null}
[1583014487:1] -> Transfer{handle=1, deliveryId=1, deliveryTag=0, messageFormat=0, settled=null, more=false, rcvSettleMode=null, state=null, resume=false, aborted=false, batchable=false} (165) "\x00Sp\xc0\x02\x01A\x00Sr\xc1)\x04\xa3\x0ex-opt-jms-destQ\x00\xa3\x12x-opt-jms-msg-typeQ\x00\x00Ss\xc0k\x0a\xa1/ID:0172b04b-3bc8-4e30-a589-57a9dae031aa:1:1:2-1\xa0\x05guest\xa1!ZeroPrefetchTest-testZeroPrefetch@@@@@@\x83\x00\x00\x01\x5c\xc6\x0c\x04\xe3"
[1583014487:1] <- Disposition{role=RECEIVER, first=1, last=1, settled=true, state=Accepted{}, batchable=false}
[1583014487:1] -> Transfer{handle=1, deliveryId=2, deliveryTag=0, messageFormat=0, settled=null, more=false, rcvSettleMode=null, state=null, resume=false, aborted=false, batchable=false} (165) "\x00Sp\xc0\x02\x01A\x00Sr\xc1)\x04\xa3\x0ex-opt-jms-destQ\x00\xa3\x12x-opt-jms-msg-typeQ\x00\x00Ss\xc0k\x0a\xa1/ID:0172b04b-3bc8-4e30-a589-57a9dae031aa:1:1:2-2\xa0\x05guest\xa1!ZeroPrefetchTest-testZeroPrefetch@@@@@@\x83\x00\x00\x01\x5c\xc6\x0c\x04\xf1"
[1583014487:1] <- Disposition{role=RECEIVER, first=2, last=2, settled=true, state=Accepted{}, batchable=false}
{noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org