Robbie Gemmell created ACTIVEMQ6-60:
---------------------------------------
Summary: Transactionally consumed AMQP messages are settled
without any disposition state.
Key: ACTIVEMQ6-60
URL: https://issues.apache.org/jira/browse/ACTIVEMQ6-60
Project: Apache ActiveMQ 6
Issue Type: Bug
Affects Versions: 6.0.0
Reporter: Robbie Gemmell
When the broker receives an unsettled disposition frame from a consumer
accepting a message using TransactionalState to make it part of a transaction,
it settles the message but does so with no state at all. This process causes a
settled disposition frame to be sent to the client which contains no state. The
message should retain TransactionalState linking it to the transaction and its
outcome.
Similar issue to AMQ-5456 for ActiveMQ 5.
The issue can be seen in the protocol trace below:
{noformat}
<TCP time="17:55:01.374487" seqno="576785035" size="38">
<source host="127.0.0.1" port="53919"/>
<target host="127.0.0.1" port="5455"/>
<frame size="38" doff="2" chan="1">
<small-descriptor code="0x0:0x15"/> # disposition
<list8 size="25" count="5"> # disposition
<true/> # role
<uint0/> # first
<uint0/> # last
<false/> # settled
<small-descriptor code="0x0:0x34"/> # state <<<< TransactionalState
<list8 size="15" count="2"> # state
<bin8 size="8"> # txn-id
00 00 00 00 00 00 00 0d
</bin8>
<small-descriptor code="0x0:0x24"/> # outcome
<list0/> # accepted
</list8>
# <null/> batchable [false]
</list8>
</frame>
</TCP>
{noformat}
{noformat}
<TCP time="17:55:01.377185" seqno="78417459" size="20">
<source host="127.0.0.1" port="5455"/>
<target host="127.0.0.1" port="53919"/>
<frame size="20" doff="2" chan="1">
<small-descriptor code="0x0:0x15"/> # disposition
<list8 size="7" count="4"> # disposition
<true/> # role
<small-uint> 1 </small-uint> # first
<small-uint> 1 </small-uint> # last
<true/> # settled
# <null/> state <<<< No state
# <null/> batchable [false]
</list8>
</frame>
</TCP>
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)