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

Re: Random serf checkout failures

From: Lieven Govaerts <lgo_at_mobsol.be>
Date: Mon, 5 Nov 2012 17:49:14 +0100

On Mon, Nov 5, 2012 at 12:41 PM, Lieven Govaerts <lgo_at_mobsol.be> wrote:
> On Mon, Nov 5, 2012 at 11:33 AM, Philip Martin
> <philip.martin_at_wandisco.com> wrote:
>> Philip Martin <philip_at_codematters.co.uk> writes:
>>
>>> I've been experimenting checking out subversion/tags from my local
>>> mirror of the Subversion repository using a client and mod_dav_svn from
>>> trunk. I'm getting several different errors seemingly at random, I
>>> suspect they may be related to some common underlying problem.
>>
>> I can reproduce this using another dataset that should easier for others
>> to reproduce: import trunk 150 times making 150 random file changes each
>> time.
>>
>> svn export http://svn.apache.org/repos/asf/subversion/trunk trunk
>> svnadmin create repo
>> svn mkdir -mm file://`pwd`/repo/tags
>> for t in `seq 1 150` ; do
>> for f in `find trunk -type f | sort -R | head -150` ; do
>> echo xx$t >> $f
>> done
>> svn import -mm trunk file://`pwd`/repo/tags/$t
>> done
>>
>
> Alright thanks, I'll try this at the hackathon this afternoon.
>

My current test with svn trunk & apache+mod_dav_svn 1.6.12 does not
reproduce this issue.

What I am seeing is that svn is using a lot of memory, up to 1GB.
Currently looking at the root cause there.

First clue: many directories are not closed until the call to
close_all_dirs in libsvn_ra_serf/update.c:finish_report. This means
that for the most part of the checkout, the associated info object is
kept in memory.

>> Another checkout error to add to list of ways it can fail:
>>
>> A wc/86/subversion/tests/cmdline/import_tests_data/import_tree/DIR1.noo
>> A wc/86/subversion/tests/cmdline/import_tests_data/import_tree/DIR6/DIR7/DIR8.noo
>> A wc/86/subversion/bindings/swig/proxy
>> ../src/subversion/svn/checkout-cmd.c:168: (apr_err=175009)
>> ../src/subversion/libsvn_client/checkout.c:179: (apr_err=175009)
>> ../src/subversion/libsvn_client/update.c:579: (apr_err=175009)
>> ../src/subversion/libsvn_client/update.c:440: (apr_err=175009)
>> ../src/subversion/libsvn_wc/adm_crawler.c:858: (apr_err=175009)
>> ../src/subversion/libsvn_ra_serf/update.c:2676: (apr_err=175009)
>> ../src/subversion/libsvn_ra_serf/update.c:2672: (apr_err=175009)
>> svn: E175009: Missing update-report close tag
>>
>
> From your previous report I noticed the 406 response that serf isn't
> handling, at least serf doesn't support a response coming in while the
> matching request wasn't completely sent yet. I guess that 406 response
> was for a REPORT request not flushed fast enough.
>
Lieven
Received on 2012-11-05 17:50:08 CET

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