[ovs-discuss] Question about order of OVSDB transaction commit response v.s. update notification

Ben Pfaff blp at ovn.org
Wed Mar 8 23:36:07 UTC 2017


On Wed, Mar 08, 2017 at 03:25:47PM -0800, Han Zhou wrote:
> I checked the current python OVSDB IDL implementation, and found out that
> the way local cache is handled during transaction commit is like this, as
> commented in idl.py:
> 
>         Committing a transaction rolls back all of the changes that it made
> to
>         the IDL's copy of the database.  If the transaction commits
>         successfully, then the database server will send an update and,
> thus,
>         the IDL will be updated with the committed changes."""
> 
> If a transaction commit is successfully returned, the client will always
> see the new data from local cache. It seems this behavior is guaranteed by
> the order of transaction commit response and update notification for the
> same commit: the update notification always come BEFORE the response of the
> same commit. I didn't check ovsdb server code to verify. Please correct me
> if I am wrong.

Yes, that's how it works.

> If I am right, then I didn't see this order being specified in RFC 7047.
> Would this order be always guaranteed in ovsdb-server implementation? Is it
> better to be specified in RFC?

I don't think that RFC 7047 states or implies the ordering.  This is a
bug in the RFC, and I wish that it did say that.  I don't think that
OVSDB is as useful without an ordering guarantee here.


More information about the discuss mailing list