-
Notifications
You must be signed in to change notification settings - Fork 258
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
northd: Incrementally process SB.Load_balancer updates.
Commit 9deb000 ("northd: Remove potential duplicates in SB Load_Balancer table.") added code to northd to ensure that SB duplicates get removed. Quoting from that commit message: The Southbound Load_Balancer table (like the Northbound one) doesn't define an index (e.g., by name). This essentially means that there can be duplicate records in the database. Moreover, the OVSDB RAFT implementation ensures "at-least-once" consistency [0] making it possible for such duplicates to "spontaneously" appear. That is still the case, however, since then ovn-northd started to incrementally process (NB) load balancer updates and self-created SB.Load_Balancer records trigger a recompute of the "en_sync_to_sb_lb" node. At scale (e.g., an OpenShift cluster with 750 nodes and 64K load balancers) this is significant: inc_proc_eng|INFO|node: sync_to_sb_lb, recompute (missing handler for input SB_load_balancer) took 524ms All we actually care about is whether the transaction to create the SB record created a spurious clone. Instead of triggering a recompute, add a new handler for this type of SB update and check for duplicates. With the database from the same scale test as above the duplicate check is almost instantaneous. Signed-off-by: Dumitru Ceara <dceara@redhat.com> Acked-by: Ales Musil <amusil@redhat.com> Acked-by: Numan Siddique <numans@ovn.org>
- Loading branch information
Showing
6 changed files
with
99 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.