You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Ben Reser <br...@gmail.com> on 2004/09/01 20:54:40 UTC

Re: Failures importing binaries

On Tue, 31 Aug 2004 19:00:47 +0200, Alex R. Mosteo <al...@mosteo.com> wrote:
> The timeout happens after, say 5 minutes of no activity, and the server
> is local. Everything is going at full speed and suddenly CPU usage drops
> to 0, and after those 5 minutes or so the timeout or PUT failure is
> reported. And then the repository is no longer accesible unless
> re-created. Meanwhile my other repositories continue to work ok.

Can you provide a reproduction recipe starting with creating a new
repository and going from there?
 
> I've simply downloaded the source .zip and issued a ./configure being
> root (as a regular user I get permissions denied before this point).

The zip file packaging is for Windows only.  Use tar.bz2 or .tar.gz

> No proxy involved, but I too suspect from Apache. But I don't know what
> to try :/ The randomness of the event is disturbing...

No idea here.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Failures importing binaries

Posted by Joerg Hessdoerfer <Jo...@sea-gmbh.com>.
Hi,

On Thursday 02 September 2004 13:33, Alex R. Mosteo wrote:
[...]
>
> #!/bin/sh
>
> rm -rf test_data
> mkdir test_data
>
> filesize=100000
> x=$((500000000 / filesize))
>
> echo "Creating binaries..."
> while ((x)); do
>     head -c $filesize /dev/urandom > test_data/random-$x.bin;
>     x=$((x - 1));
>     echo Remaining to be created: $x...
> done
>
> sudo rm -rf svn-test
> sudo mkdir svn-test
> sudo svnadmin create svn-test
> sudo chown nobody:nobody -R svn-test

The above line looks deeply suspicious... try this without the chown, and make 
sure nobody else (svnserve, mod_dav_svn) accesses the repo (via 
SvnParentPath?) with another user!

> echo "Beginning import..."
> svn import test_data http://myhost<false>.net/svn-test/test_data -m
> "Test import"
> echo "Verifying..."
> sudo svnadmin verify svn-test
> echo "Done."
>
> -----8<-----------------
>
[...]

Greetings,
 Joerg
-- 
Leading SW developer  - S.E.A GmbH
Mail: joerg.hessdoerfer@sea-gmbh.com
WWW:  http://www.sea-gmbh.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Failures importing binaries

Posted by "Alex R. Mosteo" <al...@mosteo.com>.
Alex R. Mosteo wrote:
> It seems every file has a pair PUT/PROPPATCH. The PROPPATCH seems to be 
> applied only for binary files. The last DELETE, ten seconds (my 
> configured http timeout) later seems to be the rollback after the 
> failure. The last PUT without PROPPATCH, even being the file binary, 
> corresponds with the last file tried to be sent by svn:

Note that I've lowered the timeout to 10 secons only for this last test. 
I was all the time using the default (about 1 minute or more).


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Failures importing binaries

Posted by "Alex R. Mosteo" <al...@mosteo.com>.
Joerg Hessdoerfer wrote:
> Hi again,
> 
> Yuck! Typical better_read_first_then_post situation...
> 
> Ignore my previous post, I didn't see you import via http://. Apache runs 
> under 'nobody', right?

That's is ;)

Last access logs from apache:

1xx.xxx.xxx.xx1 - jano [02/Sep/2004:15:01:22 +0200] "PUT 
/svn-test/!svn/wrk/e167e8ef-1ae3-0310-99cb-82a487d942f6/test_data/random-4657.bin 
HTTP/1.1" 201 365
1xx.xxx.xxx.xx1 - jano [02/Sep/2004:15:01:23 +0200] "PROPPATCH 
/svn-test/!svn/wrk/e167e8ef-1ae3-0310-99cb-82a487d942f6/test_data/random-4657.bin 
HTTP/1.1" 207 490
1xx.xxx.xxx.xx1 - jano [02/Sep/2004:15:01:23 +0200] "PUT 
/svn-test/!svn/wrk/e167e8ef-1ae3-0310-99cb-82a487d942f6/test_data/random-3928.bin 
HTTP/1.1" 201 365
1xx.xxx.xxx.xx1 - jano [02/Sep/2004:15:01:23 +0200] "PROPPATCH 
/svn-test/!svn/wrk/e167e8ef-1ae3-0310-99cb-82a487d942f6/test_data/random-3928.bin 
HTTP/1.1" 207 490
1xx.xxx.xxx.xx1 - jano [02/Sep/2004:15:01:23 +0200] "PUT 
/svn-test/!svn/wrk/e167e8ef-1ae3-0310-99cb-82a487d942f6/test_data/random-2678.bin 
HTTP/1.1" 201 365
1xx.xxx.xxx.xx1 - jano [02/Sep/2004:15:01:33 +0200] "DELETE 
/svn-test/!svn/act/e167e8ef-1ae3-0310-99cb-82a487d942f6 HTTP/1.1" 204 -

It seems every file has a pair PUT/PROPPATCH. The PROPPATCH seems to be 
applied only for binary files. The last DELETE, ten seconds (my 
configured http timeout) later seems to be the rollback after the 
failure. The last PUT without PROPPATCH, even being the file binary, 
corresponds with the last file tried to be sent by svn:

svn: PUT of 
/svn-test/!svn/wrk/e167e8ef-1ae3-0310-99cb-82a487d942f6/test_data/random-2678.bin: 
timed out waiting for server

Does apache log an access before servicing it?

The error log is completely clean.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Failures importing binaries

Posted by Joerg Hessdoerfer <Jo...@sea-gmbh.com>.
Hi again,

Yuck! Typical better_read_first_then_post situation...

Ignore my previous post, I didn't see you import via http://. Apache runs 
under 'nobody', right?

On Thursday 02 September 2004 13:33, Alex R. Mosteo wrote:
[...]
> sudo chown nobody:nobody -R svn-test
> echo "Beginning import..."
> svn import test_data http://myhost<false>.net/svn-test/test_data -m
[...]

Greetings,
 Joerg
-- 
Leading SW developer  - S.E.A GmbH
Mail: joerg.hessdoerfer@sea-gmbh.com
WWW:  http://www.sea-gmbh.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Failures importing binaries

Posted by "Alex R. Mosteo" <al...@mosteo.com>.
Ben Reser wrote:
> On Tue, 31 Aug 2004 19:00:47 +0200, Alex R. Mosteo <al...@mosteo.com> wrote:
> 
>>The timeout happens after, say 5 minutes of no activity, and the server
>>is local. Everything is going at full speed and suddenly CPU usage drops
>>to 0, and after those 5 minutes or so the timeout or PUT failure is
>>reported. And then the repository is no longer accesible unless
>>re-created. Meanwhile my other repositories continue to work ok.
> 
> 
> Can you provide a reproduction recipe starting with creating a new
> repository and going from there?

I've prepared a test script. See below for some additional comments.

-----8<--------

#!/bin/sh

rm -rf test_data
mkdir test_data

filesize=100000
x=$((500000000 / filesize))

echo "Creating binaries..."
while ((x)); do
    head -c $filesize /dev/urandom > test_data/random-$x.bin;
    x=$((x - 1));
    echo Remaining to be created: $x...
done

sudo rm -rf svn-test
sudo mkdir svn-test
sudo svnadmin create svn-test
sudo chown nobody:nobody -R svn-test
echo "Beginning import..."
svn import test_data http://myhost<false>.net/svn-test/test_data -m 
"Test import"
echo "Verifying..."
sudo svnadmin verify svn-test
echo "Done."

-----8<-----------------

As you can see, I'm simply creating a lot of random files and importing 
them to a fresh repository. What I've found is that a single, big file 
of 500MB doesn't hang (in my two or three attempts), neither files of 
1MB and above. However the test with smaller files (as pasted) in three 
of three attempts. It suggests a load problem in Apache... but the 
server is local. Is there some 'retry' option in svn?

I expect that someone can reproduce my problem with the above script.

Errors reported:

svn: PUT of 
/svn-test/!svn/wrk/3181a26a-19e3-0310-b32f-fbc084b9c281/test_data/random-3655.bin: 
timed out waiting for server (http://..)

BTW today I can't reproduce the corrupted repository. It is accessible 
after the failure (obviously it is empty).

>>I've simply downloaded the source .zip and issued a ./configure being
>>root (as a regular user I get permissions denied before this point).
> 
> 
> The zip file packaging is for Windows only.  Use tar.bz2 or .tar.gz

Argh.

It now fails at this point (doing make):

cd subversion/mod_authz_svn && /bin/sh 
/home/jano/tmp/subversion-1.1.0-rc2/libtool --silent --mode=link gcc  -g 
-O2  -g -O2 -pthread  -DNEON_ZLIB   -rpath  -        rsion -module -o 
mod_authz_svn.la  mod_authz_svn.lo 
../../subversion/libsvn_subr/libsvn_subr-1.la
libtool: link: only absolute run-paths are allowed
make: *** [subversion/mod_authz_svn/mod_authz_svn.la] Error 1


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org