On Thu, Jul 15, 2021 at 5:03 PM Ben Pfaff <[email protected]> wrote: > On Mon, Jul 12, 2021 at 10:08:10AM +0200, Dumitru Ceara wrote: > > Whenever a Load_Balancer is updated, e.g., a VIP is added, the following > > sequence of events happens: > > > > 1. The Southbound Load_Balancer record is updated. > > 2. The Southbound Datapath_Binding records on which the Load_Balancer is > > applied are updated. > > 3. Southbound ovsdb-server sends updates about the Load_Balancer and > > Datapath_Binding records to ovn-controller. > > 4. The IDL layer in ovn-controller processes the updates at #3, but > > because of the SB schema references between tables [0] all logical > > flows referencing the updated Datapath_Binding are marked as > > "updated". The same is true for Logical_DP_Group records > > referencing the Datapath_Binding, and also for all logical flows > > pointing to the new "updated" datapath groups. > > 5. ovn-controller ends up recomputing (removing/readding) all flows for > > all these tracked updates. > > This is kind of a weird change from my perspective. It allows for > broken referential integrity in the database to work around a > performance bug in the IDL.
Yes, it did look weird and there were detailed discussions on it in the v1 reviews. Some options that require much bigger changes were discussed for longer term, unless ddlog is used. > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
