[ovs-git] [openvswitch/ovs] 2b7e53: Revert "ovsdb-idl: Avoid sending redundant conditi...

Ilya Maximets noreply at github.com
Fri Mar 27 22:20:52 UTC 2020


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: 2b7e536fa5e20be10e620b959e05557f88862d2c
      https://github.com/openvswitch/ovs/commit/2b7e536fa5e20be10e620b959e05557f88862d2c
  Author: Dumitru Ceara <dceara at redhat.com>
  Date:   2020-03-26 (Thu, 26 Mar 2020)

  Changed paths:
    M lib/ovsdb-idl.c

  Log Message:
  -----------
  Revert "ovsdb-idl: Avoid sending redundant conditional monitoring updates"

This reverts commit 5351980b047f4dd40be7a59a1e4b910df21eca0a.

If the ovsdb-server reply to "monitor_cond_since" requests has
"found" == false then ovsdb_idl_db_parse_monitor_reply() calls
ovsdb_idl_db_clear() which iterates through all tables and
unconditionally sets table->cond_changed to false.

However, if the client had already set a new condition for some of the
tables, this new condition request will never be sent to ovsdb-server
until the condition is reset to a different value. This is due to the
check in ovsdb_idl_db_set_condition().

One way to replicate the issue is described in the bugzilla reporting
the bug, when ovn-controller is configured to use "ovn-monitor-all":
https://bugzilla.redhat.com/show_bug.cgi?id=1808125#c6

Commit 5351980b047f tried to optimize sending redundant conditional
monitoring updates but the chances that this scenario happens with the
latest code is quite low since commit 403a6a0cb003 ("ovsdb-idl: Fast
resync from server when connection reset.") changed the behavior of
ovsdb_idl_db_parse_monitor_reply() to avoid calling ovsdb_idl_db_clear()
in most cases.

Reported-by: Dan Williams <dcbw at redhat.com>
Reported-at: https://bugzilla.redhat.com/1808125
CC: Andy Zhou <azhou at ovn.org>
Fixes: 5351980b047f ("ovsdb-idl: Avoid sending redundant conditional monitoring updates")
Acked-by: Han Zhou <hzhou at ovn.org>
Acked-by: Ilya Maximets <i.maximets at ovn.org>
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Ilya Maximets <i.maximets at ovn.org>


  Commit: cdc5d9cba175e233eb8da498d46ff4be5080b035
      https://github.com/openvswitch/ovs/commit/cdc5d9cba175e233eb8da498d46ff4be5080b035
  Author: Ilya Maximets <i.maximets at ovn.org>
  Date:   2020-03-27 (Fri, 27 Mar 2020)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  cirrus: Force pkg update on FreeBSD.

Seems like FreeBSD ports/images are not well maintained and frequently
causes package installation failures like this:

 [1/40] Fetching automake-1.16.1_2.txz: .......... done
 pkg: cached package automake-1.16.1_2: size mismatch, fetching from remote
 [2/40] Fetching automake-1.16.1_2.txz: .......... done
 pkg: cached package automake-1.16.1_2: size mismatch, cannot continue
 Consider running 'pkg update -f'

Forced update doesn't increase build time significantly, but helps
to solve at least this one kind of issues.

Acked-by: William Tu <u9012063 at gmail.com>
Signed-off-by: Ilya Maximets <i.maximets at ovn.org>


Compare: https://github.com/openvswitch/ovs/compare/3c6d05a02e0f...cdc5d9cba175


More information about the git mailing list