On 5/6/24 18:58, Terry Wilson wrote:
> Unlike the C IDL code, the Python version still monitors the
> _Server DB with "monitor" instead of "monitor_cond". This results
> in receiving an entire Database row every time the "index" value
> is updated which includes the 'schema' column. Using "monitor_cond"
> will result in "update2" notifications which just include the
> changed "index" value.
> 
> Unlike the C IDL, the Python IDL requires a SchemaHelper object
> to instanitate the IDL, leaving it to the user of the library to
> call "get_schema" themselves. Since the Python IDL did not have
> support for retrieving the schema automatically and did not have
> a state for doing so, instead of transitioning on an error response
> from retrieving the _Server schema to requesting the "data" schema,
> this moves directly to monitoring the "data" DB.
> 
> Signed-off-by: Terry Wilson <twil...@redhat.com>
> ---
>  python/ovs/db/idl.py | 28 ++++++++++++++--------------
>  1 file changed, 14 insertions(+), 14 deletions(-)
> 

Thanks, Terry!  Sorry for a long delay.

I'm considering this as a bug fix, because the use of a plain monitor
causes a significant traffic amplification with every small transactions
and can potentially create serious issues in large scale clusters.

Applied to main.  Backporting to 2.17 is probably too much, so only ported
to 3.3 for now to avoid this issue on a future LTS branch.

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

Reply via email to