I'm seeing stress.pl failures when using the new FSFS backend. I'm
running two instances
$ .../stress.pl -c -s0
$ .../stress.pl -s0
Here's what the stress.pl -c -s0 instance did
Committed revision 2.
Status:
M 2 wcstress.3751/trunk/bar1/foo2
M 2 wcstress.3751/trunk/foo2
M 1 wcstress.3751/trunk/bar2/foo1
M 1 wcstress.3751/trunk/bar2/foo2
Status against revision: 2
Updating:
At revision 2.
Committing:
Sending wcstress.3751/trunk/bar1/foo2
Sending wcstress.3751/trunk/bar2/foo1
Sending wcstress.3751/trunk/bar2/foo2
Sending wcstress.3751/trunk/foo2 <<<<<<<<<<
Transmitting file data ....
Committed revision 3.
Status:
* 2 wcstress.3751/trunk/bar1/foo1
M * 3 wcstress.3751/trunk/bar1/foo2
M * 3 wcstress.3751/trunk/bar2/foo1
* 3 wcstress.3751/trunk/bar2/foo2
M * 2 wcstress.3751/trunk/foo1
M * 3 wcstress.3751/trunk/foo2
Status against revision: 4
Updating:
C wcstress.3751/trunk/foo2
C wcstress.3751/trunk/bar1/foo2
U wcstress.3751/trunk/bar1/foo1
C wcstress.3751/trunk/bar2/foo1
U wcstress.3751/trunk/bar2/foo2
G wcstress.3751/trunk/foo1
Updated to revision 4.
Committing:
../svn/subversion/libsvn_client/commit.c:747: (apr_err=155015)
svn: Commit failed (details follow):
../svn/subversion/libsvn_client/commit_util.c:269: (apr_err=155015)
svn: Aborting commit: '/home/pm/sw/subversion/obj/subversion/tests/wcstress.3751/trunk/foo2' remains in conflict
unexpected commit fail: exit status: 256
and here's what the stress.pl -s0 instance did
Checked out revision 2.
Status:
M 2 wcstress.3769/trunk/foo1
M 2 wcstress.3769/trunk/bar1/foo1
M 2 wcstress.3769/trunk/bar1/foo2
M 2 wcstress.3769/trunk/foo2
Status against revision: 2
Updating:
At revision 2.
Committing:
Sending wcstress.3769/trunk/bar1/foo1
Sending wcstress.3769/trunk/bar1/foo2
Sending wcstress.3769/trunk/foo1
Sending wcstress.3769/trunk/foo2 <<<<<<<<<<
Transmitting file data ....
Committed revision 4.
Status:
M 4 wcstress.3769/trunk/bar1/foo2
M 4 wcstress.3769/trunk/foo2
M 2 wcstress.3769/trunk/bar2/foo1
M 2 wcstress.3769/trunk/bar2/foo2
Status against revision: 4
Updating:
At revision 4.
Committing:
Sending wcstress.3769/trunk/bar1/foo2
Sending wcstress.3769/trunk/bar2/foo1
Sending wcstress.3769/trunk/bar2/foo2
Sending wcstress.3769/trunk/foo2
Transmitting file data ....
Committed revision 5.
In particular note the two lines marked <<<<<<<<<< as they both
involve a modification and commit of r2 trunk/foo2, the first creates
r3 and the second creates r4. The r4 commit should have failed with a
message about trunk/foo2 being out-of-date.
A postmortem shows
$ svn cat -r2 file://`pwd`/repostress/trunk/foo2 | head -5
A0
0,1
A1
1
A2
$ svn cat -r3 file://`pwd`/repostress/trunk/foo2 | head -5
A0
0,1,2
A1
1
A2
$ svn cat -r4 file://`pwd`/repostress/trunk/foo2 | head -5
A0
0,1
A1
1,1
A2
The r3 commit correctly appends ",2" to line 2 and the r4 commit
correctly appends ",1" to line 4, but r4 also clobbers the r3 commit
to line 2.
This problem is repeatable (the failure revision varies) using FSFS,
it doesn't occur using BDB.
--
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Apr 30 23:28:00 2004