You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by John Locke <ma...@freelock.com> on 2003/05/06 20:36:15 UTC

Problem: svn timing out on large directory

Hello,

I'm in the process of loading my web projects into a brand spanking new
subversion repository, and moving them to a new server.

The repository is some 400 MB (after importing all of the files to
manage).

The problem I'm having is trying to check out the trunk of the
repository to the new server.

It (the checkout) gets to a certain directory, and then freezes. After a
couple of minutes, I get:

svn: RA layer request failed
svn: could not fetch directory entries
svn: PROPFIND request failed on
'/svn/web/!svn/bc/18/trunk/html/local/iobjects/full'
svn: PROPFIND of '/svn/web/!svn/bc/18/trunk/html/local/iobjects/full':
timed out waiting for server (http://localhost)


I tried using svn cleanup, but whenever I retried I would get:

[john@denali html]$ svn co http://localhost/svn/web/trunk/html/local
svn: Obstructed update
svn: revision 18 doesn't match existing revision 0 in 'local'


By deleting the parent directory ('local') and all its contents, I can
try again--but it gets to the same directory and times out again.

I tried "svnadmin recover" to no avail.

I tried "svnadmin lstxns" and found 4 unfinished transactions. I used
rmtxns to remove them, and then svnadmin recover (which took about 10
minutes this time), still with the same result.

Finally, I tried svn ls on the directory where it hangs up. Using
mod_dav_svn, it times out after 60 seconds or so. Using a "file://"
protocol directly to the repository hangs for about 70 seconds, and then
retrieves the correct file list.


I can browse to the directory using a web browser (it loads slowly, bit
by bit). I just can't check out using http.


[john@denali html]$ svn ls
http://localhost/svn/web/trunk/html/local/iobjects
.htaccess
aCodec.htm
aContentManager.htm
aControllingMediaPlayer.htm
<snip>
full/
full.htm
hardwareInformation.htm
html_foot.html
html_head.html
<snip>

[john@denali html]$ svn ls
http://localhost/svn/web/trunk/html/local/iobjects/full

svn: RA layer request failed
svn: PROPFIND request failed on
'/svn/web/!svn/bc/18/trunk/html/local/iobjects/full'
svn: PROPFIND of '/svn/web/!svn/bc/18/trunk/html/local/iobjects/full':
timed out waiting for server (http://localhost)

Is this a known issue?

System info:

Apache 2.0.45 
Mandrake 9.1
Subversion 0.21+ (updated from dev tree on Sunday)
256 MB RAM PII
-- 
John Locke
http://freelock.com
Recently published: "An inexpensive e-mail server setup"
http://www.techrepublic.com/article_guest.jhtml?id=r00620030325gcn01.htm
Play sports? Check in at http://teamcheckin.com


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

Re: Problem: svn timing out on large directory

Posted by John Locke <ma...@freelock.com>.
On Tue, 2003-05-06 at 15:11, Ben Collins-Sussman wrote:

> Nope.  You have to do one big 'svn import', then a big 'svn checkout'.
> 


So this should be "a big 'svn checkout' to a new directory", right? I
just tried to back up my /etc directory (the whole thing), and it
wouldn't let me check it back out there. (even as root).

This, to me, is a slightly confusing point. If I understand correctly
now, you always want to create a new directory when you check out
something from the repository. Create a new directory for a working
copy, rather than converting an existing directory to a working copy.
Correct? If you want to update files in an existing directory, you can
only "svn export", unless the directory is already under svn control.
I'm talking best practices here.

Perhaps a suggestion for improving the book?

-- 
John Locke
http://freelock.com
Recently published: "Extend the reach of users' email with IMAP"
http://www.techrepublic.com/article_guest.jhtml?id=r00620030507jxl01.htm
Play sports? Check in at http://teamcheckin.com


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

Re: Problem: svn timing out on large directory

Posted by Ben Collins-Sussman <su...@collab.net>.
John Locke <ma...@freelock.com> writes:

> So is there any way to make a normal directory that already has files in
> it a  working directory, if some of the filenames match files in the
> repository?

Nope.  You have to do one big 'svn import', then a big 'svn checkout'.

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

Re: Problem: svn timing out on large directory

Posted by John Locke <ma...@freelock.com>.
Yes, I can check it out elsewhere.

So is there any way to make a normal directory that already has files in
it a  working directory, if some of the filenames match files in the
repository?

For example, I have some projects already in the web root on this
server, and I want to add them to the repository. I'm trying to check
out different projects out of a repository, and place the entire
directory under revision control. But after the fiasco below, I now have
in my web root, half of the files under broken revision control, and the
other half under no control.

I just want to put the web root under subversion control (ignoring a few
specific directories that are packages I can always download). What's
the easiest way to do this?

I tried deleting the .svn folders and checking out, but it doesn't let
me do that since there's already files in the directory that match
what's in the repository.

What I'd like to be able to do would be something like "svn co" in an
existing directory, and for existing files, check out the HEAD version
into the local version as the BASE, leaving the existing file in the
working version. Then running an svn status could tell me if any files
are different. Can subversion do anything like this? I'm finding myself
trying to do this a lot, in several different situations already.

Thanks for your help,

Cheers,

On Tue, 2003-05-06 at 14:49, Ben Collins-Sussman wrote:

> Can you do a fresh checkout?  I suspect your current working copy has
> incorrect administrative data.

-- 
John Locke
http://freelock.com
Recently published: "An inexpensive e-mail server setup"
http://www.techrepublic.com/article_guest.jhtml?id=r00620030325gcn01.htm
Play sports? Check in at http://teamcheckin.com


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

Re: Problem: svn timing out on large directory

Posted by Ben Collins-Sussman <su...@collab.net>.
John Locke <ma...@freelock.com> writes:

> Now, however, I'm getting a new problem when I try to update:
> 
> [john@denali html]$ svn update
> svn: Filesystem has no item
> svn: REPORT request failed on '/svn/web/trunk/html'
> svn:
> file not found: transaction `13', path `/trunk/html/uptime.txt'
> 
> 
> Ran svnadmin recover again, and still the same. I know there were a
> couple problems on the initial import--how do I recover from this?

Can you do a fresh checkout?  I suspect your current working copy has
incorrect administrative data.

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

Re: Problem: svn timing out on large directory

Posted by John Locke <ma...@freelock.com>.

On Tue, 2003-05-06 at 13:47, Ben Collins-Sussman wrote:
> John Locke <ma...@freelock.com> writes:
> 
> > It (the checkout) gets to a certain directory, and then freezes. After a
> > couple of minutes, I get:
> > 
> > svn: RA layer request failed
> > svn: could not fetch directory entries
> > svn: PROPFIND request failed on
> > '/svn/web/!svn/bc/18/trunk/html/local/iobjects/full'
> > svn: PROPFIND of '/svn/web/!svn/bc/18/trunk/html/local/iobjects/full':
> > timed out waiting for server (http://localhost)
> 
> Does this particular directory have a very large number of children?
> 
> If so, it's probably issue 773:
> 
>    http://subversion.tigris.org/issues/show_bug.cgi?id=773
> 
> For the moment, try increasing the timeout on your svn client, by
> setting the 'http-timeout' variable in your ~/.subversion/servers
> file.

Yes, that was the problem... 916 files in that directory.

Now, however, I'm getting a new problem when I try to update:

[john@denali html]$ svn update
svn: Filesystem has no item
svn: REPORT request failed on '/svn/web/trunk/html'
svn:
file not found: transaction `13', path `/trunk/html/uptime.txt'


Ran svnadmin recover again, and still the same. I know there were a
couple problems on the initial import--how do I recover from this?


-- 
John Locke
http://freelock.com
Recently published: "An inexpensive e-mail server setup"
http://www.techrepublic.com/article_guest.jhtml?id=r00620030325gcn01.htm
Play sports? Check in at http://teamcheckin.com


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

Re: Problem: svn timing out on large directory

Posted by Ben Collins-Sussman <su...@collab.net>.
John Locke <ma...@freelock.com> writes:

> It (the checkout) gets to a certain directory, and then freezes. After a
> couple of minutes, I get:
> 
> svn: RA layer request failed
> svn: could not fetch directory entries
> svn: PROPFIND request failed on
> '/svn/web/!svn/bc/18/trunk/html/local/iobjects/full'
> svn: PROPFIND of '/svn/web/!svn/bc/18/trunk/html/local/iobjects/full':
> timed out waiting for server (http://localhost)

Does this particular directory have a very large number of children?

If so, it's probably issue 773:

   http://subversion.tigris.org/issues/show_bug.cgi?id=773

For the moment, try increasing the timeout on your svn client, by
setting the 'http-timeout' variable in your ~/.subversion/servers
file.


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