On 12/2/22 16:32, Dumitru Ceara wrote: > 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]>
Applied. Thanks! Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
