On 3/25/20 9:15 PM, Dumitru Ceara wrote:
> 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 <[email protected]>
> Reported-at: https://bugzilla.redhat.com/1808125
> CC: Andy Zhou <[email protected]>
> Fixes: 5351980b047f ("ovsdb-idl: Avoid sending redundant conditional 
> monitoring updates")
> Signed-off-by: Dumitru Ceara <[email protected]>

LGTM,
Acked-by: Ilya Maximets <[email protected]>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to