[ovs-build] Passed: ovsrobot/ovn#903 (series_194743 - f6b94d8)

Travis CI builds at travis-ci.com
Sat Aug 8 07:15:18 UTC 2020

Build Update for ovsrobot/ovn

Build: #903
Status: Passed

Duration: 18 mins and 3 secs
Commit: f6b94d8 (series_194743)
Author: Han Zhou
Message: Avoid nb_cfg update notification flooding

nb_cfg as a mechanism to "ping" OVN control plane is very useful
in many ways. However, the current implementation will trigger
update notifications flooding in the whole control plane. Each
HV updates to SB the nb_cfg number and all these updates are
notified to all the other HVs, which is O(n^2). Although updates
are batched in fewers notifications than n^2, it still generates
significant load on SB DB and ovn-controllers.

To solve this problem and make the mechanism more useful in large
scale producation deployment, this patch separates the per HV
*private* data (write only by the owning chassis and not
interesting to any other HVs) from the Chassis table to a separate
table, so that each HV can conditionally monitor and get updates
only for its own record.

Test result shows great improvement:
In a test environment with 1200 sandbox HVs, and 12K ports created
on 80 lswitches and 1 lrouter, do the sync test when the system
is idle, with command:

    time ovn-nbctl --wait=hv sync

Original result:
real    0m13.724s
user    0m0.295s
sys     0m0.012s

With this patch:
real    0m3.255s
user    0m0.248s
sys     0m0.020s

Also, regarding backwards compatibility note that the nb_cfg from the
Chassis table is no longer updated. If any system is relying on this
mechanism they should start using the nb_cfg from the Chassis_Private
table from now on.

Co-authored-by: Lucas Alvares Gomes <lucasagomes at gmail.com>
Signed-off-by: Lucas Alvares Gomes <lucasagomes at gmail.com>
Signed-off-by: Han Zhou <hzhou at ovn.org>
Signed-off-by: 0-day Robot <robot at bytheb.org>

View the changeset: https://github.com/ovsrobot/ovn/compare/617a9fc4ba8e^...f6b94d810179

View the full build log and details: https://travis-ci.com/github/ovsrobot/ovn/builds/178977252?utm_medium=notification&utm_source=email


You can unsubscribe from build emails from the ovsrobot/ovn repository going to https://travis-ci.com/account/preferences/unsubscribe?repository=9136199&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-build/attachments/20200808/5e469505/attachment.html>

More information about the build mailing list