-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28209/
-----------------------------------------------------------

Review request for qpid and Gordon Sim.


Repository: qpid


Description
-------

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 fix)

Summary of changes:

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

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


Diffs
-----

  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/


Testing
-------


Thanks,

Alan Conway

Reply via email to