Development

NAVIGATION
CATEGORIES
REFERRENCE
LINKS
  • issue with svn 1.2.0 client against 1.1.x server

    8 answers - 1155 bytes - related search similar search Add To My Delicious Add To My Stumble Upon Add To My Google Mark Add To My Facebook Add To My Digg Add To My Reddit

    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
    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,
  • No.1 | | 1315 bytes | |

    Hmm I saw similar behavior the other day, but assumed it was some sort of
    fluke.

    "Michael S. Tsirkin" <mst (AT) mellanox (DOT) co.ilwrites:

    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
    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,
  • No.2 | | 1963 bytes | |

    Hi!

    Quoting r. Michael S. Tsirkin <mst (AT) mellanox (DOT) 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
    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
    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
    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.
  • No.3 | | 691 bytes | |

    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 (AT) subversion (DOT) tigris.org
    For additional commands, e-mail: dev-help (AT) subversion (DOT) tigris.org
  • No.4 | | 1047 bytes | |

    Jul 10, 2005, at 1:47 PM, Ben Collins-Sussman wrote:

    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 (AT) subversion (DOT) tigris.org
    For additional commands, e-mail: dev-help (AT) subversion (DOT) tigris.org
  • No.5 | | 988 bytes | |

    Quoting r. Ben Collins-Sussman <sussman (AT) collab (DOT) net>:
    Subject: Re: svn 1.2.1 client x20 slower than 1.1.x

    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?
  • No.6 | | 1527 bytes | |

    K, 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 (AT) subversion (DOT) tigris.org
    For additional commands, e-mail: dev-help (AT) subversion (DOT) tigris.org
  • No.7 | | 556 bytes | |

    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 (AT) subversion (DOT) tigris.org
    For additional commands, e-mail: dev-help (AT) subversion (DOT) tigris.org
  • No.8 | | 711 bytes | |

    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 (AT) subversion (DOT) tigris.org
    For additional commands, e-mail: dev-help (AT) subversion (DOT) tigris.org

Re: issue with svn 1.2.0 client against 1.1.x server


max 4000 letters.
Your nickname that display:
In order to stop the spam: 3 + 2 =
QUESTION ON "Development"

EMSDN.COM