Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-923

Transactional amqp consumer can't finish its execution when receiving durable message

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • None
    • AMQ 7.1.0.GA
    • amqp-protocol, transactions
    • AMQ-7.1.0 CR1
      python-qpid-proton-0.18.0

      Transactional amqp consumer can't finish its execution when receiving durable message. Clients protocol trace attached.

      steps to reproduce:

      1. create AMQ 7.1.0 broker instance and run it
      2. add a durable queue:
        $ bin/artemis queue create --name examples --address examples --anycast --durable --preserve-on-no-consumers --auto-create-address
      3. install cli-proton-python
        $ pip install cli-proton-python
      4. send a durable message towards the queue created
        $ cli-proton-python-sender --msg-durable True
      5. try to receive the message using transactional consumer, + display protocol trace:
        $ PN_TRACE_FRM=1 cli-proton-python-receiver --tx-size=1
      6. the consumer can't finish it's execution, message was not settled in the disposition frame sent by broker, broker do not respond to the subsequent client's disposition frame

      Note:
      1.) This does not happen when the consumer is not using transactions
      2.) This doesn't happen when the message sent is transient
      3.) This doesn't happen when testing with AMQ-7.0.3, thus marked as regression. Clients protocol trace against the AMQ-7.0.3 has been attached

        1. consumer-protocol-trace-AMQ703.log
          5 kB
          Petr Matousek
        2. consumer-protocol-trace.log
          5 kB
          Petr Matousek

              gaohoward Howard Gao
              pematous Petr Matousek
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: