On 9/21/22 22:50, Ilya Maximets wrote: > Currently, command to add one item into a large set generates the > transaction with the full new content of that set plus 'wait' > operation for the full old content of that set. So, if we're adding > one new load-balancer into a load-balancer group in OVN using > ovn-nbctl, transaction will include all the existing load-balancers > from that groups twice. > > IDL supports partial updates for sets and maps. The problem with that > is changes are not visible to the IDL user until the transaction > is committed. That will cause problems for chained ctl commands. > However, we still can optimize the very last command in the list. > It makes sense to do, since it's a common case for manual invocations. > > Updating the 'add' command as well as 'set' for a case where we're > actually adding one new element to the map. > > One downside is that we can't check the set size without examining > it and checking for duplicates, so allowing the transaction to be > sent and constraints to be checked on the server side in that case. > > Not touching 'remove' operation for now, since removals may have > different type, e.g. if elements from the map are removed by the key. > The function will likely need to be fully re-written to accommodate > all the corner cases. > > Signed-off-by: Ilya Maximets <[email protected]> > ---
I think this is OK: Acked-by: Dumitru Ceara <[email protected]> Thanks, Dumitru _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
