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. 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? If I am wrong, could someone educate me how does the python IDL implementation guarantee new data is immediately seen after commit successfully returns? Personally I like this ordering because it simplifies IDL client cache implementation. Thanks, Han
_______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss