Sounds perfectly reasonable, Carl. Could you please post a review board item for this? Also, it sounds like (without looking) the stored info for bindings will change after this patch. If that's true, store databases will need to be changed or replaced across the version change. Could you note this in your patch for review?
Thanks, -Steve > -----Original Message----- > From: Carl Trieloff [mailto:cctriel...@redhat.com] > Sent: Wednesday, May 18, 2011 11:55 AM > To: dev@qpid.apache.org > Subject: Change to store interface / binding encode/decode > > > > In working a patch to add ownership to the broker model for > ACL, I see that bindings are the only object we don't use > encode and decode. This meant that the first version of my > patch required a change to the encode/decode of binding in > the store code. This is a break in abstraction, where the > broker should be providing the encode/ decode. The same > problem then also exists in the cluster for bindings, in > talking with Alan. (below) > > The idea is to move to an encode/ decode in binding and the > update the signature of the MessageStore.h and remove the > encode/ decode from the inline code and add an interface > method to the Recoverable objects. > > Unless there are any objections, I'll proceed. My end game > is to be able to provide simpler ACL scoping for cloud usage > of Qpid brokers, to do so we need the identity of who created > which objects. > > > (11:31:41 AM) cctrieloff: where in the cluster do we sync > bindings (11:31:58 AM) cctrieloff: question is because > binding is the one object that does not have an encode and > decode (11:32:22 AM) cctrieloff: so If I add another member, > what do I need to do to make sure the cluster will sync it > (11:32:58 AM) aconway: bindings get synced with the rest of > the update, let me find the code... (11:34:24 AM) aconway: > UpdateClient::updateBinding - it just uses the standard AMPQ > bind command. (11:36:26 AM) aconway: It iterates using > Queue::eachBinding (11:37:18 AM) cctrieloff: darn (11:37:24 > AM) cctrieloff: ok, here is the problem (11:37:50 AM) > cctrieloff: I need to add who created the binding into the > model for ACL. (11:38:38 AM) cctrieloff: the issue is that is > the cluster uses bind then the user will be not the original > user but rather other broker in the cluster (11:39:14 AM) > cctrieloff: any ideas? (11:39:14 AM) aconway: right. we need > to add that info. I suggest we add an encode to bindings for > consistency. (11:39:38 AM) cctrieloff: would you change the > cluster to then use the encode/ decode (11:40:01 AM) > cctrieloff: if so we should update the store to also use the > encode / decode, that would be a good cleanup (11:41:01 AM) > aconway: Exactly. (11:41:40 AM) cctrieloff: great, is that > something you want to do as you know the cluster better than > I do? (11:43:40 AM) aconway: Sure, can you raise a BZ for me? > (11:44:04 AM) cctrieloff: I'm gong to post the IRC to the > list and I'll raise a BZ. that way people know what we are > doing (11:44:11 AM) aconway: Great. > --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org