On 12/3/21 17:06, Dumitru Ceara wrote:
> On 12/3/21 16:00, Terry Wilson wrote:
>> On Fri, Dec 3, 2021 at 6:06 AM Dumitru Ceara <dce...@redhat.com> wrote:
>>>
>>> On 12/1/21 18:51, Terry Wilson wrote:
>>>> Add support for monitor_cond_since / update3 to python-ovs to
>>>> allow more efficient reconnections when connecting to clustered
>>>> OVSDB servers.
>>>>
>>>> Signed-off-by: Terry Wilson <twil...@redhat.com>
>>>> ---
>>>>  python/ovs/db/idl.py | 245 ++++++++++++++++++++++++++++++++++++-------
>>>>  tests/ovsdb-idl.at   |   2 +-
>>>>  2 files changed, 211 insertions(+), 36 deletions(-)
>>>>
>>>
>>> Acked-by: Dumitru Ceara <dce...@redhat.com>

Thanks, Terry and Dumitru!

I added a NEWS entry for that change and applied.

I suppose, the next step here should be use of 'monitor_cond' for a monitor
request to _Server database.  Currently it uses simple 'monitor' that results
in relatively bulky updates every time database "index" changes, and that
happens on every update of a main database.  C version uses 'monitor_cond'
with a trivial condition in order to receive small 'update2' notifications.

One problem I spotted that existed before this patch (so not a blocker)
is that python-idl doesn't re-connect if it receives inconsistent update
or a broken database schema.  __parse_update() seems to trap all the
parsing exceptions and only logs them.  In case of schema or initial
monitor reply parsing failures there is an extra check to force
re-connection, but it's in the caller of __parse_update(), hence it
can't actually get the exception.  This, probably, need to be fixed.
C version of a code uses ovsdb_cs_retry()/ovsdb_cs_flag_inconsistency()
functions in similar cases.

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to