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

Re: Corruption when using --threads

From: Landon Bradshaw <landon.bradshaw_at_justleapin.com>
Date: Thu, 20 Mar 2008 08:46:49 -0800

To setup the text file directory (Dir1) I did the following:
for i in 1 2 3 4 5 6 7 8 9; { touch chkfile00$i.txt; }
for i in 10 11 12 13 14 15 16 17 18 19 20; { touch chkfile0$i.txt; }
svn add *
svn ci -m 'initial fileset'

Then I used the following command after copying "txt_control.sh" into Dir1
./txt-control.sh 20

For Dir2 I just grabbed some large binary files and named them all
chkspace00#.bin and added them to subversion control ... then used the
following command:
./bin-control.sh 10

These commands need to be running at the same time ... I was using 2
different user accounts ...

Please let me know if I missed anything to help recreate this problem ...

On Thu, Mar 20, 2008 at 12:25 AM, Erik Huelsmann <ehuels_at_gmail.com> wrote:

> On 3/20/08, Landon Bradshaw <landon.bradshaw_at_justleapin.com> wrote:
> > We've been having a problem with our repository and finally had the time
> to
> > do some more testing ... the results are that we needed to drop
> "--threads"
> > from our svnserve invocation and just let it run via fork()
> >
> > Environment: CentOS5
> > Revision: 1.4.2 (CentOS5) and 1.4.4 (Ubuntu)
> > DB-type: fsfs
> >
> > Following these steps I could get a corruption within 10 revisions ...
> >
> > Setup:
> > * create the repo
> > * create 2 subdirectories
> > * commit a set of text files into Dir1 (20 files all less than 2KB)
> > * commit a set of large binary files into Dir2 (6 files of 2.5MB to
> 16MB)
> >
> > Stress:
> > * By randomly choosing a text file to change I created a new revision
> for
> > Dir1 containing 4 to 9 changed files
> > * By randomly swapping the filename of 2 files in Dir2 I created a large
> > changeset for Dir2
> > * Serial commits of Dir2 were continuously occurring while I was
> randomly
> > choosing a sleep time between serial commits of Dir1 (<16 seconds)
> >
> > I would trigger 10 loops of the large swap/commit of Dir2 while
> triggering
> > 20 loops of revisions from Dir1 and I would reliably get the corruption
> > before the 10 loops of the binary commits had finished ... "svn:
> > Decompression of svndiff data failed"
> >
> > Removing the "--threads" from the svnserve options and I could get
> through
> > over 400 commits without an error ... restarting svnserve with that
> option
> > and again I would corrupt my repository within 10 commits ...
> >
> > Is this worthy of posting a bug report? Does someone want my scripts to
> test
> > it out themselves?
>
> If you can consistently reproduce, we'd - ofcourse - like your scripts!
>
> Bye,
>
> Erik.
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org

Received on 2008-03-20 17:47:12 CET

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

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