subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Johan Corveleyn <jcor...@gmail.com>
Subject Re: "svn pget svn:externals -r <rev> . -R" dramatically slow
Date Wed, 17 May 2017 17:57:29 GMT
On Tue, May 16, 2017 at 11:42 PM, Andry <andry@inbox.ru> wrote:
> Hello Users,
>
> Original issue: https://issues.apache.org/jira/browse/SVN-4681
>
> Just discovered a really strange case where exactly titled command bring really slow
response.
>
> The repository contains more than 1000 revisions. The WC is in the middle, say at rev
1193 (the current), the show log shows 1191 at the last revision, the HEAD revision say 1300.
> Trying to cd into WC directory and run the command. Needs about 1 minute  to wait it's
response. The Process Hacker shows traffic with the server up to about 2MB.
>
> If try to run command w/o -R flag - command returns immediately.
>
> The content of the externals property without the -R flag is:
> https://domain.ab/svn/proj2/trunk - ^/../proj3/trunk/cmake cmake_proj3
> ^/solutions/project1/sdk proj2-sdk
>
> The content of the externals property with the -R flag is:
> https://domain.ab/svn/proj2/trunk - ^/../proj3/trunk/cmake cmake_proj3
> ^/solutions/project1/sdk proj2-sdk
> https://domain.ab/svn/proj2/trunk/proj2-gui -
> https://domain.ab/svn/proj2/trunk/proj2-gui/lib/Resource/Files -
>
> I think the 2 last records draws the svn mad and it begin to crawl the server for something
for about 1 minute.
>
> I tries variations of the command. For example all these having the same result as above:
> svn pget svn:externals -r "1193" "https://domain.ab/svn/proj2/trunk" -R --non-interactive
> svn pget svn:externals -r "1193" "https://domain.ab/svn/proj2/trunk@1193" -R --non-interactive
> svn pget svn:externals "https://domain.ab/svn/proj2/trunk@1193" -R --non-interactive
>
> Dig a bit further and found this:
> svn info https://domain.ab/svn/proj2/trunk/proj2-gui
> svn: warning: W170000: URL 'https://domain.ab/svn/proj2/trunk/proj2-gui' non-existent
in revision 1300
> svn: E200009: Could not display info for all targets because some targets don't exist
>
> Seems the 2 last records reference URL's what does not exist anymore in the HEAD.
>
> These 2 records are left after an upgrade from a previous version of database, but why
is the svn runs so slow about it? Anyway, i can't just cleanup the externals because they
are from 3dparty repository in which i have no access.

Thanks for bringing the issue here to the list.

First a couple questions to get our context right: what version of svn
on the client and on the server? Is there a slow network between
client and server, or are they on the same LAN?

Just as background: svn:externals definitions can also optionally take
a peg revision (the @REV notation) [1], [2]. Maybe in the future you
can use the peg revision syntax to avoid this problem of the "external
source" disappearing at some point in history.

[1] http://svnbook.red-bean.com/nightly/en/svn.advanced.externals.html
[2] http://svnbook.red-bean.com/nightly/en/svn.advanced.pegrevs.html

-- 
Johan

Mime
View raw message