qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alan Conway" <acon...@redhat.com>
Subject Review Request 28209: QPID-4710: [AMQP 1.0] Support for transactions in qpid.messaging C++ client.
Date Wed, 19 Nov 2014 02:57:33 GMT

This is an automatically generated e-mail. To reply, visit:

Review request for qpid and Gordon Sim.

Repository: qpid


My tests that roll back are failing, messages acquired during tx are not being put back on
queues. I can see from logs that Transaction::discharge is being called and is doing the pn_delivery_update()
calls, and that there is a driver wakeup after that, but there are no -> @dispositions
leaving from the client. I can see dispositions being sent by the client when the messages
are acknowledged within the transaction, and the code looks similar so I'm not sure why they
are not being sent at discharge.

(The locking between ConnectionContext and Transaction is screwed up, I know that & will

Summary of changes:

Added descriptor list to Variant and support in Encoder. Variant changes are source and binary

Other minor changes:
- Variant refactor: don't delete impl on every assignment.
- Add Variant constructors that take a string encoding.
  (new constructors, not defaulted arguments, so the change is binary and source compatible.)
- Growable buffer support for Encoder.

QPID-4710: [AMQP 1.0] Support for transactions in qpid.messaging C++ client.

- interop_tests.py: transaction tests that can be run against any broker (env QPID_INTEROP_URL)
- messaging/amqp/Transaction.h,cpp: transaction logic
  - communicate with coordinator, send declare/dischange messages.
  - add tx state info to transfers and acknowledgements.
- Misc. improvements to logging


  trunk/qpid/cpp/include/qpid/types/Variant.h 1640198 
  trunk/qpid/cpp/src/amqp.cmake 1640198 
  trunk/qpid/cpp/src/qpid/amqp/CharSequence.cpp 1640198 
  trunk/qpid/cpp/src/qpid/amqp/Descriptor.h 1640198 
  trunk/qpid/cpp/src/qpid/amqp/Descriptor.cpp 1640198 
  trunk/qpid/cpp/src/qpid/amqp/Encoder.h 1640198 
  trunk/qpid/cpp/src/qpid/amqp/Encoder.cpp 1640198 
  trunk/qpid/cpp/src/qpid/amqp/descriptors.h 1640198 
  trunk/qpid/cpp/src/qpid/broker/Queue.cpp 1640198 
  trunk/qpid/cpp/src/qpid/broker/TxDequeue.cpp 1640198 
  trunk/qpid/cpp/src/qpid/broker/amqp/Connection.cpp 1640198 
  trunk/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp 1640198 
  trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp 1640198 
  trunk/qpid/cpp/src/qpid/messaging/amqp/AddressHelper.cpp 1640198 
  trunk/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.h 1640198 
  trunk/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.cpp 1640198 
  trunk/qpid/cpp/src/qpid/messaging/amqp/PnData.h 1640198 
  trunk/qpid/cpp/src/qpid/messaging/amqp/PnData.cpp 1640198 
  trunk/qpid/cpp/src/qpid/messaging/amqp/SenderContext.h 1640198 
  trunk/qpid/cpp/src/qpid/messaging/amqp/SenderContext.cpp 1640198 
  trunk/qpid/cpp/src/qpid/messaging/amqp/SenderHandle.cpp 1640198 
  trunk/qpid/cpp/src/qpid/messaging/amqp/SessionContext.h 1640198 
  trunk/qpid/cpp/src/qpid/messaging/amqp/SessionContext.cpp 1640198 
  trunk/qpid/cpp/src/qpid/messaging/amqp/SessionHandle.cpp 1640198 
  trunk/qpid/cpp/src/qpid/messaging/amqp/Transaction.h PRE-CREATION 
  trunk/qpid/cpp/src/qpid/messaging/amqp/Transaction.cpp PRE-CREATION 
  trunk/qpid/cpp/src/qpid/types/Variant.cpp 1640198 
  trunk/qpid/cpp/src/qpid/types/encodings.h 1640198 
  trunk/qpid/cpp/src/tests/Variant.cpp 1640198 
  trunk/qpid/cpp/src/tests/brokertest.py 1640198 
  trunk/qpid/cpp/src/tests/ha_tests.py 1640198 
  trunk/qpid/cpp/src/tests/interop_tests.py PRE-CREATION 

Diff: https://reviews.apache.org/r/28209/diff/



Alan Conway

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message