On 3/26/20 6:00 PM, Ilya Maximets wrote: > 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]> >
Thanks Dumitru, Han and Numan. I went ahead and applied this patch to master. Backported down to 2.7. Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
