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)

Reply via email to