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: [email protected]
For additional commands, e-mail: [email protected]