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

Reply via email to