[ovs-dev] [PATCH v4 0/1] Send notifications after the transaction ends

Terry Wilson twilson at redhat.com
Thu Mar 4 15:29:35 UTC 2021


Ok, I think this is likely to be the final iteration of the patch as we
are down to the typos.

In Neutron, we process these notifications in a separate thread. So what
that means is that we were experiencing race conditions where sometimes
the notification's row would have a value set, and other times it
wouldn't. In fixing some other race conditions related to that event
processing thread, we tried to add a read-only copy of the Row object
and that actually turned the race condition into a consistent failure on
py27 due to the table_updates dict not maintaining insertion-order, but
consistently putting Logical_Router_Port before Gateway_Chassis. In py3
things could still fail as in the test case provided, e.g. if rows
referenced each other in the same transaction, or depending on the order
in which ovsdb-server adds the updates.

Terry Wilson (1):
  python: Send notifications after the transaction ends

 python/ovs/db/idl.py | 39 ++++++++++++++++++++++++---------------
 tests/ovsdb-idl.at   | 22 ++++++++++++++++++++++
 tests/test-ovsdb.py  |  7 +++++--
 3 files changed, 51 insertions(+), 17 deletions(-)

-- 
2.17.1



More information about the dev mailing list