[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: FSFS failing regression tests?

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: 2005-08-03 10:28:45 CEST

"C. Michael Pilato" <cmpilato@collab.net> writes:

> Yesterday morning, I abstracted a whole bunch of tests[1] from
> tests/libsvn_fs_base/fs-test.c into a new tests/libsvn_fs/fs-test.c so
> that FSFS and BDB could both have regression/unit tests. In doing so,
> I noticed that FSFS fails two of those tests, but committed my
> abstraction anyway because we *want* to see failures like that.
>
> Anyway, I've not had a chance to take a detailed look to see if the
> tests are failing for legitimate reasons or not, but wanted to alert
> list-folk in case someone else wants to take a look-see. Here are the
> failing tests:

So I finally got a chance to take a somewhat detailed look at the
problems.

> FAIL: lt-fs-test 13: delete nodes tree

Okay, the problem here is with node revision caching. A stale node
revision's dirents list is being read. So FSFS thinks some node
revision ought to exist, but it doesn't. FSFS throws a "dangling id"
error message: "Reference to non-existent node '_0.0.t0-1'
in filesystem 'test-repo-del-tree'".

(This same cache caused me so many problems in the BDB code that I
finally removed it altogether.)

> FAIL: lt-fs-test 17: merging commit

And this one appears to be some sort of strange philosophical
disconnect between FSFS and BDB. The situation is the merge() case "E
exists neither in SOURCE nor in TARGET". In the BDB code, this
so-called "double delete" is allowed -- the code simply doesn't credit
the second deleter with the deletion. The FSFS code, however, flags a
conflict.

Thoughts from folks actually familiar with FSFS internals?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Aug 3 10:32:01 2005

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.