]> git.proxmox.com Git - mirror_ovs.git/commit
ovsdb-idl: Fast resync from server when connection reset.
authorHan Zhou <hzhou8@ebay.com>
Thu, 28 Feb 2019 17:15:20 +0000 (09:15 -0800)
committerBen Pfaff <blp@ovn.org>
Thu, 28 Feb 2019 19:14:51 +0000 (11:14 -0800)
commit403a6a0cb003f1d48b0a3cbf11a2806c45e9d076
tree64f0ec3d73b0a444957e9e7ac1fc10dc434710e2
parentb49b9316a48b3997b3dcb738af6838617b610f12
ovsdb-idl: Fast resync from server when connection reset.

Use monitor_cond_since to request changes after last version of local
data when connection to server is reset, without clearing the local
data. It falls back to clearing and repopulating all the data when
the requested id cannot be fulfilled by the server.

Test result at ovn-scale-test environment using clustered mode:
- 1K HVs (ovsdb clients)
- 10K lports

Without the patch it took 30+ min for the SB ovsdb-server to calm down
and HVs to stablize the connectin and finish syncing data.

With the patch there were no noticible CPU spike of SB ovsdb-server,
and all HVs were in sync with SB within 1 min, which is the probe
interval set in this test (so it took at most 1 min for HVs to notice
the TCP connection reset and reconnect and resync finished immediately
after that).

Reported-at: https://mail.openvswitch.org/pipermail/ovs-discuss/2018-September/047457.html
Signed-off-by: Han Zhou <hzhou8@ebay.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
lib/ovsdb-idl.c