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.
