qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Ross <justin.r...@gmail.com>
Subject Re: Request for inclusion in 0.32: QPID-4710: [AMQP 1.0] Support for transactions in qpid::messaging C++ client.
Date Wed, 04 Mar 2015 12:59:09 GMT
This change is way too big to land at this point.  Work of this kind needs
to land on trunk before alpha, or before beta with an exception.  I think
it should wait for the next release.

On Tue, Mar 3, 2015 at 8:43 AM, Gordon Sim <gsim@redhat.com> wrote:

> On 02/27/2015 04:49 PM, Alan Conway wrote:
>
>> gsim could you review this please?
>>
>
> Looks good to me. All my proton python tx examples pass against it also.
> I'd be in favour of merging it to 0.32 branch.
>
>
>
>> ------------------------------------------------------------------------
>> r1662743 | aconway | 2015-02-27 11:37:06 -0500 (Fri, 27 Feb 2015) | 59
>> lines
>>
>> QPID-4710: [AMQP 1.0] Support for transactions in qpid::messaging C++
>> client.
>>
>> Implements the "transactional retire and settle immediately" option for
>> transactions as specified in AMQP 1.0 in the qpid::messaging C++ client.
>>
>> NOTE: Transactions over AMQP 1.0 require proton 0.9 or greater.  With
>> older
>> versions, attempting a transactions over AMQP 1.0 will raise a
>> link-detached
>> exception "Node not found: tx-transaction"
>>
>> 1. Added descriptor list to Variant with support in Encoder and PnData.
>>
>> Required to support transactions, need to be able to create described
>> lists.
>> Variant changes are source and binary compatible.
>>
>> A Variant now has a Variant::List of descripors which can be numeric or
>> string.
>> Nested descriptors are implemented by putting multiple descriptors in
>> the list.
>>
>> 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.
>> - Printing described Variant prints descriptors in form @descriptor
>> value
>>
>> 2. Added transaction support to AMQP 1.0 client code
>>
>> Added messaging/amqp/Transaction.h,cpp: transaction logic
>> - communicate with coordinator, send declare/dischange messages.
>> - add tx state info to transfers and acknowledgements.
>> - Sync session after discharge.
>> - A transactional session automatically acks any message retrieved by
>> fetch/get
>>    to bring them into the transaction. This is consistent the 0-10
>> client.
>>
>> Minor fixes to existing client code:
>> - Fix use of pn_drain API in C++ client to work with C++ and Java
>> brokers.
>> - Make amqp::Exception derive from qpid::Exception
>>
>> 3. Fixes to existing broker code:
>>
>> - Incoming.cpp fix: start async completion before processing message.
>> - Delay accept of dischage message till commit is complete.
>> - newSession - handle failover during session creation.
>>
>> 4. Added tests
>>
>> interop_tests.py: transaction tests that can run against an external
>> broker, see comments.
>>
>> ha_tests.py: Enable transaction tests over AMQP 1.0.
>>
>> Minor test fixes:
>> - brokertest.py don't set default logging if QPID_LOG env vars set.
>> - brokertest.py Pass kwargs to broker() create function.
>> - qpid-receive: capacity should never be larger than message count.
>> - Accept user:pass as well as user/pass in Url.
>> - brokertest.py: Always do a ready() check on all brokers.
>>
>> If proton < 0.9 is used, transaction tests will be skipped or will
>> downgrade to
>> the amqp0-10 protocol with a printed warning.
>>
>> ------------------------------------------------------------------------
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
>> For additional commands, e-mail: dev-help@qpid.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
> For additional commands, e-mail: dev-help@qpid.apache.org
>
>

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