You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "Marinov, Vladimir" <Vl...@softwareag.com> on 2015/11/09 14:49:55 UTC

Question on the information contained in a flow event

Hello all,

We are implementing AMQP support in our messaging server and for that purpose we use Proton-j 0.9.1. I'm currently trying to implement transactional acquisition and I'm stuck with the following:
When a client tries to acquire messages transactionally from the server, it send a flow frame with a 'txn-id' entry in its properties so I need to access this information. The thing is that in the onLinkFlow handler method I get an object of type Event which doesn't seem to contain the txn-id (it actually seems pretty blank) and I can't find it anywhere else. On the other hand, I'm pretty certain this information is sent to us because we trace incoming frames in our trace handler and the flow frames all contain txn-id. Am I missing something and do you have any suggestions?

Regards,
Vladimir

Re: Question on the information contained in a flow event

Posted by aconway <ac...@redhat.com>.
On Mon, 2015-11-09 at 17:17 +0000, Robbie Gemmell wrote:
> On 9 November 2015 at 17:09, aconway <ac...@redhat.com> wrote:
> > On Mon, 2015-11-09 at 13:49 +0000, Marinov, Vladimir wrote:
> > > Hello all,
> > > 
> > > We are implementing AMQP support in our messaging server and for
> > > that
> > > purpose we use Proton-j 0.9.1. I'm currently trying to implement
> > > transactional acquisition and I'm stuck with the following:
> > > When a client tries to acquire messages transactionally from the
> > > server, it send a flow frame with a 'txn-id' entry in its
> > > properties
> > > so I need to access this information. The thing is that in the
> > > onLinkFlow handler method I get an object of type Event which
> > > doesn't
> > > seem to contain the txn-id (it actually seems pretty blank) and I
> > > can't find it anywhere else. On the other hand, I'm pretty
> > > certain
> > > this information is sent to us because we trace incoming frames
> > > in
> > > our trace handler and the flow frames all contain txn-id. Am I
> > > missing something and do you have any suggestions?
> > > 
> > > Regards,
> > > Vladimir
> > 
> > The information is there, I've had to scrape it out before. I
> > believe
> > it is is part of the delivery disposition state:
> > 
> > pn_event_delivery_t(),
> > pn_delivery_remote_state(),
> > pn_disposition_something_my_memory_isnt_what_it_used_to_be()
> > 
> > Give me a shout if you can't track it down, I wrote code in qpidd
> > at
> > some point that did something with the TXN id, I can find it need
> > be.
> > 
> > Cheers,
> > Alan.
> 
> I believe you are thinking of transactional retirement, whereas
> Vladimir is talking about transactional acquisition, which uses the
> flow frame for some of the process rather than disposition frames.
> 

You are probably right, my memories are vague. Sorry if I sent anyone
barking up the wrong tree.


Re: Question on the information contained in a flow event

Posted by Robbie Gemmell <ro...@gmail.com>.
On 9 November 2015 at 17:09, aconway <ac...@redhat.com> wrote:
> On Mon, 2015-11-09 at 13:49 +0000, Marinov, Vladimir wrote:
>> Hello all,
>>
>> We are implementing AMQP support in our messaging server and for that
>> purpose we use Proton-j 0.9.1. I'm currently trying to implement
>> transactional acquisition and I'm stuck with the following:
>> When a client tries to acquire messages transactionally from the
>> server, it send a flow frame with a 'txn-id' entry in its properties
>> so I need to access this information. The thing is that in the
>> onLinkFlow handler method I get an object of type Event which doesn't
>> seem to contain the txn-id (it actually seems pretty blank) and I
>> can't find it anywhere else. On the other hand, I'm pretty certain
>> this information is sent to us because we trace incoming frames in
>> our trace handler and the flow frames all contain txn-id. Am I
>> missing something and do you have any suggestions?
>>
>> Regards,
>> Vladimir
>
> The information is there, I've had to scrape it out before. I believe
> it is is part of the delivery disposition state:
>
> pn_event_delivery_t(),
> pn_delivery_remote_state(),
> pn_disposition_something_my_memory_isnt_what_it_used_to_be()
>
> Give me a shout if you can't track it down, I wrote code in qpidd at
> some point that did something with the TXN id, I can find it need be.
>
> Cheers,
> Alan.

I believe you are thinking of transactional retirement, whereas
Vladimir is talking about transactional acquisition, which uses the
flow frame for some of the process rather than disposition frames.

Robbie

Re: Question on the information contained in a flow event

Posted by aconway <ac...@redhat.com>.
On Mon, 2015-11-09 at 13:49 +0000, Marinov, Vladimir wrote:
> Hello all,
> 
> We are implementing AMQP support in our messaging server and for that
> purpose we use Proton-j 0.9.1. I'm currently trying to implement
> transactional acquisition and I'm stuck with the following:
> When a client tries to acquire messages transactionally from the
> server, it send a flow frame with a 'txn-id' entry in its properties
> so I need to access this information. The thing is that in the
> onLinkFlow handler method I get an object of type Event which doesn't
> seem to contain the txn-id (it actually seems pretty blank) and I
> can't find it anywhere else. On the other hand, I'm pretty certain
> this information is sent to us because we trace incoming frames in
> our trace handler and the flow frames all contain txn-id. Am I
> missing something and do you have any suggestions?
> 
> Regards,
> Vladimir

The information is there, I've had to scrape it out before. I believe
it is is part of the delivery disposition state: 

pn_event_delivery_t(), 
pn_delivery_remote_state(),
pn_disposition_something_my_memory_isnt_what_it_used_to_be()

Give me a shout if you can't track it down, I wrote code in qpidd at
some point that did something with the TXN id, I can find it need be.

Cheers,
Alan.

Re: Question on the information contained in a flow event

Posted by Robbie Gemmell <ro...@gmail.com>.
Hi Vladimir,

As per https://issues.apache.org/jira/browse/PROTON-754, Proton does
not currently expose the properties of the flow frame and so it isnt
possible to do transactional acquisition using it (or correctly handle
it not being supported). All the clients/brokers I am aware of
currently [using proton] use transactional retirement rather than
transactional acquisition.

Regards,
Robbie

On 9 November 2015 at 13:49, Marinov, Vladimir
<Vl...@softwareag.com> wrote:
> Hello all,
>
> We are implementing AMQP support in our messaging server and for that purpose we use Proton-j 0.9.1. I'm currently trying to implement transactional acquisition and I'm stuck with the following:
> When a client tries to acquire messages transactionally from the server, it send a flow frame with a 'txn-id' entry in its properties so I need to access this information. The thing is that in the onLinkFlow handler method I get an object of type Event which doesn't seem to contain the txn-id (it actually seems pretty blank) and I can't find it anywhere else. On the other hand, I'm pretty certain this information is sent to us because we trace incoming frames in our trace handler and the flow frames all contain txn-id. Am I missing something and do you have any suggestions?
>
> Regards,
> Vladimir