[ovs-dev] [PATCH v2 0/2] ovsdb-idl: Preserve references for tracked deleted rows.

Ben Pfaff blp at ovn.org
Wed Mar 10 22:17:47 UTC 2021


On Wed, Mar 10, 2021 at 10:10:29PM +0100, Dumitru Ceara wrote:
> On 3/10/21 9:23 PM, Ben Pfaff wrote:
> > I was thinking of something systematic and general-purpose like this:
> >          https://benpfaff.org/papers/explode.pdf
> > or the code documented here:
> >          https://git.savannah.gnu.org/cgit/pspp.git/diff/src/libpspp/model-checker.h?id=5060fdedfe17e843301ac0c738e12488af467378
> 
> Oh, I see now.  This is great, thanks for sharing!
> 
> > I built something equivalent for OVS at one point but it didn't ever
> > make it into the tree; I could probably dig it up if anyone actually
> > wanted to use it though.
> 
> If it's not too much trouble to dig up, I'd be interested in looking at it.
> Otherwise the pspp model-checker code and its users are already a nice read.

It looks like I was thinking of lightly retouched code from GNU PSPP
that I was initially trying to use to test Raft:

    https://github.com/blp/ovs-reviews/blob/raft/tests/model-checker.h
    https://github.com/blp/ovs-reviews/blob/raft/tests/model-checker.c

That didn't make it into the final Raft implementation because it was a
trickier approach than I expected at first.  There is also a licensing
issue, since the model-checker code above comes from GNU PSPP, which is
GPLv3+.  That might not be a real problem in practice because, first,
I'm the upstream author of the code and the GNU Project generally allows
those authors to relicense as they see first and, second, the code
wouldn't go into OVS releases but only be run at build time for testing.
I never followed up on the license issues because I didn't proceed with
that approach.

> As Han mentioned on the review for patch 2/2 of the series, it might be
> worth considering a refactor of the IDL change tracking code in general.  If
> we decide to go that way in the future, then I think the effort to add a
> general purpose test and a second ovsdb-idl checker implementation to be
> used by the test is worth it.

+1


More information about the dev mailing list