You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by "Michael S. Tsirkin" <ms...@mellanox.co.il> on 2005/06/06 20:43:52 UTC
issue with svn 1.2.0 client against 1.1.x server
Hello!
With subversion client version 1.2.0
>time /usr/local/svn12/bin/svn list https://openib.org/svn
branches/
gen1/
gen2/
tags/
trunk/
0.395u 0.067s 1:53.62 0.3% 0+0k 0+0io 0pf+0w
While with client 1.1.4 against the same server I have:
>time svn list https://openib.org/svn
branches/
gen1/
gen2/
tags/
trunk/
0.019u 0.007s 0:04.29 0.2% 0+0k 0+0io 11pf+0w
So subversion 1.2.0 is taking 2 minutes where 1.1.4 takes 4 seconds
to contact the same remote repository.
This observation was independently confirmed by another svn user.
Running strace on versions 1.2.0 and 1.1.4, I see that subversion 1.2.0
does around 17000 system calls, while 1.1.4 only around 750.
Further, most of the time while client 1.2.0 appears stuck,
it is actually performing read/write/select calls, presumably from the socket.
Both clients are built from source with ./configure --prefix=xxxxx --with-ssl
The openib.org server is AFAIK 1.1.x
This problem prevents me from changing my client to 1.2.0.
Is this a known issue?
Thanks,
--
MST
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: svn 1.2.1 client x20 slower than 1.1.x
Posted by Ben Collins-Sussman <su...@collab.net>.
On Jul 10, 2005, at 1:47 PM, Ben Collins-Sussman wrote:
>
> On Jul 10, 2005, at 12:49 PM, Michael S. Tsirkin wrote:
>
>>
>> openib.org subversion server is world-readable, so its easy to test.
>> Please contact me off-list if you have questions - I'm not
>> subscribed.
>>
>
> What version of svn is openib.org running?
The reason I ask is: the svn 1.2 client now uses 'peg revisions'
when peforming an 'ls' command, which means unlike a 1.1 client, it
asks the server to search through history. If the server is running
svn 1.2.0, this may be an example of the server-side history-
searching performance bugs fixed in svn 1.2.1. You'd have to patch
the server up to 1.2.1 to see if it makes a difference.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: history-tracing bug in 1.2 client (was Re: svn 1.2.1 client
x20 slower than 1.1.x)
Posted by Greg Hudson <gh...@MIT.EDU>.
On Sun, 2005-07-10 at 15:50 -0500, Ben Collins-Sussman wrote:
> So instead of noticing, "hey, all the revisions are identical" and
> doing zero history requests, the current logic says to
> unconditionally fetch all logs back to r1. I have no idea why this
> is. Can somebody else comment?
Perhaps you could try asking the author of that code? I suggest
starting at r9355. :)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: history-tracing bug in 1.2 client (was Re: svn 1.2.1 client
x20 slower than 1.1.x)
Posted by Greg Hudson <gh...@MIT.EDU>.
On Sun, 2005-07-10 at 15:50 -0500, Ben Collins-Sussman wrote:
> The svn 1.2 client is requesting *all* logs from the server, before
> it ever issues an 'ls' request. And there's no reason for it do be
> doing that. That explains the 2 minute delay.
I fixed this in r15315, and nominated it for 1.2.2.
I'm not sure if this was made clear to Michael or not: although this
performance problem arises from an inefficiency in the client code,
upgrading the server to 1.1.x or higher will resolve the issue.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
history-tracing bug in 1.2 client (was Re: svn 1.2.1 client x20 slower than 1.1.x)
Posted by Ben Collins-Sussman <su...@collab.net>.
OK, this is a genuine bug, thanks for pointing it out again Michael
(and sorry we didn't fix it earlier!) I was able to reproduce the
bug by running the svn 1.2 client in gdb against the openib.org
server and watching what it was doing.
In short:
The svn 1.2 client is requesting *all* logs from the server, before
it ever issues an 'ls' request. And there's no reason for it do be
doing that. That explains the 2 minute delay.
In long:
As I suspected, the 1.2 svn client is doing history-tracing during an
'svn ls', when an svn 1.1 client is not.
Because openib.org is running svn 1.0, the client's attempt to call
svn_ra_get_locations() fails, so it falls back to running
slow_locations(), which ultimately calls svn_ra_get_logs().
In gdb, I can see that slow_locations() is called with arguments of
{start_revnum, end_revnum, peg_revnum} all set to 2829 (which is
HEAD). Yet somehow, at libsvn_client/ra.c:660, we call
svn_ra_get_logs() on a range of "youngest through r1". And the
revision 1 is hard-coded!
So instead of noticing, "hey, all the revisions are identical" and
doing zero history requests, the current logic says to
unconditionally fetch all logs back to r1. I have no idea why this
is. Can somebody else comment?
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: svn 1.2.1 client x20 slower than 1.1.x
Posted by "Michael S. Tsirkin" <ms...@mellanox.co.il>.
Quoting r. Ben Collins-Sussman <su...@collab.net>:
> Subject: Re: svn 1.2.1 client x20 slower than 1.1.x
>
>
> On Jul 10, 2005, at 12:49 PM, Michael S. Tsirkin wrote:
> >
> >openib.org subversion server is world-readable, so its easy to test.
> >Please contact me off-list if you have questions - I'm not subscribed.
>
> What version of svn is openib.org running?
w3m https://openib.org/svn gets me
Powered by Subversion version 1.0.3 (r9775).
> Is it possible to change openib.org to allow plain http:// access,
> not just https://? Because of the SSL requirement, I can't analyze
> the network trace. (It's anonymous access anyway, so I'm not sure
> why encryption is being forced.)
Sorry, I'm not the webmaster, so I have no way to do that. Here's a link
http://openib.org/contact.html
Maybe subversion can be set up to print out activity on top of SSL?
--
MST
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: svn 1.2.1 client x20 slower than 1.1.x
Posted by Ben Collins-Sussman <su...@collab.net>.
On Jul 10, 2005, at 12:49 PM, Michael S. Tsirkin wrote:
>
> openib.org subversion server is world-readable, so its easy to test.
> Please contact me off-list if you have questions - I'm not subscribed.
What version of svn is openib.org running?
Is it possible to change openib.org to allow plain http:// access,
not just https://? Because of the SSL requirement, I can't analyze
the network trace. (It's anonymous access anyway, so I'm not sure
why encryption is being forced.)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
svn 1.2.1 client x20 slower than 1.1.x
Posted by "Michael S. Tsirkin" <ms...@mellanox.co.il>.
Hi!
Quoting r. Michael S. Tsirkin <ms...@mellanox.co.il>:
> Subject: issue with svn 1.2.0 client against 1.1.x server
>
> Hello!
> With subversion client version 1.2.0
>
> >time /usr/local/svn12/bin/svn list https://openib.org/svn
> branches/
> gen1/
> gen2/
> tags/
> trunk/
> 0.395u 0.067s 1:53.62 0.3% 0+0k 0+0io 0pf+0w
>
> While with client 1.1.4 against the same server I have:
>
> >time svn list https://openib.org/svn
> branches/
> gen1/
> gen2/
> tags/
> trunk/
> 0.019u 0.007s 0:04.29 0.2% 0+0k 0+0io 11pf+0w
>
> So subversion 1.2.0 is taking 2 minutes where 1.1.4 takes 4 seconds
> to contact the same remote repository.
>
> This observation was independently confirmed by another svn user.
> Running strace on versions 1.2.0 and 1.1.4, I see that subversion 1.2.0
> does around 17000 system calls, while 1.1.4 only around 750.
> Further, most of the time while client 1.2.0 appears stuck,
> it is actually performing read/write/select calls, presumably from the socket.
>
> Both clients are built from source with ./configure --prefix=xxxxx --with-ssl
> The openib.org server is AFAIK 1.1.x
>
> This problem prevents me from changing my client to 1.2.0.
> Is this a known issue?
I just re-tested with subversion 1.2.1 and I still have this issue.
/tmp>/usr/local/svn121/bin/svn --version
svn, version 1.2.1 (r15230)
compiled Jul 10 2005, 20:35:28
[...]
/tmp>time /usr/local/svn121/bin/svn list https://openib.org/svn
[...]
1.550u 0.130s 2:20.21 1.1% 0+0k 0+0io 832pf+0w
/tmp>svn --version
svn, version 1.1.4 (r13838)
compiled May 2 2005, 15:50:29
[...]
/tmp>time svn list https://openib.org/svn
[...]
0.070u 0.020s 0:04.28 2.1% 0+0k 0+0io 818pf+0w
openib.org subversion server is world-readable, so its easy to test.
Please contact me off-list if you have questions - I'm not subscribed.
--
MST
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: issue with svn 1.2.0 client against 1.1.x server
Posted by "C. Michael Pilato" <cm...@collab.net>.
Hmm... I saw similar behavior the other day, but assumed it was some sort of
fluke.
"Michael S. Tsirkin" <ms...@mellanox.co.il> writes:
> Hello!
> With subversion client version 1.2.0
>
> >time /usr/local/svn12/bin/svn list https://openib.org/svn
> branches/
> gen1/
> gen2/
> tags/
> trunk/
> 0.395u 0.067s 1:53.62 0.3% 0+0k 0+0io 0pf+0w
>
> While with client 1.1.4 against the same server I have:
>
> >time svn list https://openib.org/svn
> branches/
> gen1/
> gen2/
> tags/
> trunk/
> 0.019u 0.007s 0:04.29 0.2% 0+0k 0+0io 11pf+0w
>
> So subversion 1.2.0 is taking 2 minutes where 1.1.4 takes 4 seconds
> to contact the same remote repository.
>
> This observation was independently confirmed by another svn user.
> Running strace on versions 1.2.0 and 1.1.4, I see that subversion 1.2.0
> does around 17000 system calls, while 1.1.4 only around 750.
> Further, most of the time while client 1.2.0 appears stuck,
> it is actually performing read/write/select calls, presumably from the socket.
>
> Both clients are built from source with ./configure --prefix=xxxxx --with-ssl
> The openib.org server is AFAIK 1.1.x
>
> This problem prevents me from changing my client to 1.2.0.
> Is this a known issue?
>
> Thanks,
> --
> MST
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org