http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgId=296034
The command line script is also at the end.
The test system is Windows XP w/SP on a 3.2 GHz Pentium-4
(Hyperthreading disabled) with 2 GB of RAM and a largely-empty
NTFS disk partition (about 200 GB free).
The code is essentially SVN repository revision 7183 with
apr\file_io\win32\open.c changed to put an infinite retry
around the MoveFileEx () call. This is needed or you'll
probably fail here before to the checksum failure.
> Date: Fri, 10 Oct 2003 16:41:48 -0400
> From: mark benedetto king <mbk@lowlatency.com>
> Cc: cmpilato@collab.net, users@subversion.tigris.org
>
> On Fri, Oct 10, 2003 at 03:34:31PM -0500, James Van Artsdalen wrote:
> > The problem isn't necessarily a large group all committing to the same
> > file in the repository. I try to simulate a large group, all
> > committing to their own area of a project, but all in the same
> > repository. In other words, there is only one committer per
> > subdirectory tree in the repository.
> >
> > This does not succeed under Windows. A single committer, committing
> > 100 files per iteration, has run over 80,000 iterations for me so far.
> > I have never gotten as far as 2,000 iterations with four committers.
> > The problem I see isn't starvation but corruption (checksum mismatch).
> > It's completely repeatable ("unavoidable") but may take a couple of
> > hours for one of the "users" to fail.
> >
>
> Could you post your stress-testing scripts and document the
> environment that you are using for testing?
>
> --ben
setlocal
set FILES=%2
rem set REPOS=http://127.0.0.1/svn/svn-test
set REPOS=file:///svn-test/repos
set COUNT=0
set STOPPER=svn-stop
set SVN=C:\src\subversion-debug\src\Debug\subversion\clients\cmdline\svn.exe
set SVNADMIN=C:\src\subversion-debug\src\Debug\subversion\svnadmin\svnadmin.exe
if not exist repos mkdir repos
if not exist repos\db %SVNADMIN% create repos
pause
mkdir %1
set I=1
:mkfiles
echo %COUNT% > %1\x%I%
set /a I=%I% + 1
if %I% leq %FILES% goto mkfiles
%SVN% import -m - %1 %REPOS%/%1
rm -rf %1
%SVN% checkout %REPOS%/%1 %1
cd %1
:loop
set /a COUNT=%COUNT% + 1
title %1 commit %COUNT%
set I=1
:files
if exist ..\%STOPPER% goto exit
echo %COUNT% > x%I%
set /a I=%I% + 1
if %I% leq %FILES% goto files
%SVN% commit -m -
if errorlevel 1 goto stop
if not exist ..\%STOPPER% goto loop
:stop
if exist ..\%STOPPER% goto exit
echo > ..\%STOPPER%
:exit
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Oct 13 13:56:13 2003