#48995 [NEW]: resuming svn switch is too slow
| From: | xuefer at gmail dot com | Date: | Tue, 21 Jul 2009 05:16:27 +0000 |
| Subject: | #48995 [NEW]: resuming svn switch is too slow | ||
| Groups: | php.webmaster | ||
| Request: | Send a blank email to php-webmaster+get-5459@lists.php.net to get a copy of this message | ||
From: xuefer at gmail dot com
Operating system: linux
PHP version: Irrelevant
PHP Bug Type: Website problem
Bug description: resuming svn switch is too slow
Description:
------------
when a network issue interrupted "svn switch" in the half, it would be
really slow to begin the switch, nothing display until half an hour or so
later, it begin switching like normal speed. maybe svn:// protocol could be
faster on this? but i don't find any svn:// access
strace -s100 svn switch ...
setsockopt(4, SOL_TCP, TCP_NODELAY, [1], 4) = 0
fcntl64(4, F_GETFL) = 0x2 (flags O_RDWR)
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(4, {sa_family=AF_INET, sin_port=htons(80),
sin_addr=inet_addr("69.147.83.196")}, 16) = -1 EINPROGRESS (Operation now
in progress)
poll([{fd=4, events=POLLOUT}], 1, 3600000) = 1 ([{fd=4,
revents=POLLOUT}])
getsockopt(4, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
fcntl64(4, F_SETFL, O_RDWR) = 0
send(4, "OPTIONS /repository/php/php-src/branches/PHP_5_3
HTTP/1.1\r\nHost: svn.php.net\r\nUser-Agent: SVN/1.6.2 ("..., 447, 0) =
447
send(4, "<?xml version=\"1.0\" encoding=\"utf-8\"?><D:options
xmlns:D=\"DAV:\"><D:activity-collection-set/></D:optio"..., 104, 0) = 104
poll([{fd=4, events=POLLIN}], 1, 3600000) = 1 ([{fd=4, revents=POLLIN}])
recv(4, "HTTP/1.1 200 OK\r\nDate: Tue, 21 Jul 2009 05:13:52 GMT\r\nServer:
Apache/2.2.9 (FreeBSD) mod_ssl/2.2.9 Op"..., 4096, 0) = 969
send(4, "PROPFIND /repository/php/php-src/branches/PHP_5_3
HTTP/1.1\r\nHost: svn.php.net\r\nUser-Agent: SVN/1.6.2 "..., 432, 0) = 432
send(4, "<?xml version=\"1.0\" encoding=\"utf-8\"?><propfind
xmlns=\"DAV:\"><prop><version-controlled-configuration "..., 300, 0) =
300
poll([{fd=4, events=POLLIN}], 1, 3600000) = 1 ([{fd=4, revents=POLLIN}])
recv(4, "HTTP/1.1 207 Multi-Status\r\nDate: Tue, 21 Jul 2009 05:13:52
GMT\r\nServer: Apache/2.2.9 (FreeBSD) mod_ss"..., 4096, 0) = 955
send(4, "PROPFIND /repository/!svn/vcc/default HTTP/1.1\r\nHost:
svn.php.net\r\nUser-Agent: SVN/1.6.2 (r37639) neo"..., 420, 0) = 420
send(4, "<?xml version=\"1.0\" encoding=\"utf-8\"?><propfind
xmlns=\"DAV:\"><prop><checked-in
xmlns=\"DAV:\"/></prop><"..., 111, 0) =
111
poll([{fd=4, events=POLLIN}], 1, 3600000) = 1 ([{fd=4, revents=POLLIN}])
recv(4, "HTTP/1.1 207 Multi-Status\r\nDate: Tue, 21 Jul 2009 05:13:52
GMT\r\nServer: Apache/2.2.9 (FreeBSD) mod_ss"..., 4096, 0) = 626
send(4, "PROPFIND /repository/!svn/bln/284459 HTTP/1.1\r\nHost:
svn.php.net\r\nUser-Agent: SVN/1.6.2 (r37639) neon"..., 419, 0) = 419
send(4, "<?xml version=\"1.0\" encoding=\"utf-8\"?><propfind
xmlns=\"DAV:\"><prop><baseline-collection xmlns=\"DAV:\"/"...,
148, 0) =
148
poll([{fd=4, events=POLLIN}], 1, 3600000) = 1 ([{fd=4, revents=POLLIN}])
recv(4, "HTTP/1.1 207 Multi-Status\r\nDate: Tue, 21 Jul 2009 05:13:52
GMT\r\nServer: Apache/2.2.9 (FreeBSD) mod_ss"..., 4096, 0) = 687
send(4, "PROPFIND /repository/php/php-src/branches/PHP_5_3
HTTP/1.1\r\nHost: svn.php.net\r\nUser-Agent: SVN/1.6.2 "..., 432, 0) = 432
send(4, "<?xml version=\"1.0\" encoding=\"utf-8\"?><propfind
xmlns=\"DAV:\"><prop><version-controlled-configuration "..., 300, 0) =
300
poll([{fd=4, events=POLLIN}], 1, 3600000) = 1 ([{fd=4, revents=POLLIN}])
recv(4, "HTTP/1.1 207 Multi-Status\r\nDate: Tue, 21 Jul 2009 05:13:53
GMT\r\nServer: Apache/2.2.9 (FreeBSD) mod_ss"..., 4096, 0) = 955
send(4, "PROPFIND /repository/!svn/vcc/default HTTP/1.1\r\nHost:
svn.php.net\r\nUser-Agent: SVN/1.6.2 (r37639) neo"..., 420, 0) = 420
send(4, "<?xml version=\"1.0\" encoding=\"utf-8\"?><propfind
xmlns=\"DAV:\"><prop><checked-in
xmlns=\"DAV:\"/></prop><"..., 111, 0) =
111
poll([{fd=4, events=POLLIN}], 1, 3600000) = 1 ([{fd=4, revents=POLLIN}])
recv(4, "HTTP/1.1 207 Multi-Status\r\nDate: Tue, 21 Jul 2009 05:13:53
GMT\r\nServer: Apache/2.2.9 (FreeBSD) mod_ss"..., 4096, 0) = 626
send(4, "PROPFIND /repository/!svn/bln/284459 HTTP/1.1\r\nHost:
svn.php.net\r\nUser-Agent: SVN/1.6.2 (r37639) neon"..., 419, 0) = 419
send(4, "<?xml version=\"1.0\" encoding=\"utf-8\"?><propfind
xmlns=\"DAV:\"><prop><baseline-collection xmlns=\"DAV:\"/"...,
148, 0) =
148
poll([{fd=4, events=POLLIN}], 1, 3600000) = 1 ([{fd=4, revents=POLLIN}])
recv(4, "HTTP/1.1 207 Multi-Status\r\nDate: Tue, 21 Jul 2009 05:13:53
GMT\r\nServer: Apache/2.2.9 (FreeBSD) mod_ss"..., 4096, 0) = 687
send(4, "PROPFIND /repository/php/php-src/branches/PHP_5_3
HTTP/1.1\r\nHost: svn.php.net\r\nUser-Agent: SVN/1.6.2 "..., 432, 0) = 432
send(4, "<?xml version=\"1.0\" encoding=\"utf-8\"?><propfind
xmlns=\"DAV:\"><prop><version-controlled-configuration "..., 300, 0) =
300
poll([{fd=4, events=POLLIN}], 1, 3600000) = 1 ([{fd=4, revents=POLLIN}])
recv(4, "HTTP/1.1 207 Multi-Status\r\nDate: Tue, 21 Jul 2009 05:13:53
GMT\r\nServer: Apache/2.2.9 (FreeBSD) mod_ss"..., 4096, 0) = 955
send(4, "PROPFIND /repository/!svn/vcc/default HTTP/1.1\r\nHost:
svn.php.net\r\nUser-Agent: SVN/1.6.2 (r37639) neo"..., 435, 0) = 435
send(4, "<?xml version=\"1.0\" encoding=\"utf-8\"?><propfind
xmlns=\"DAV:\"><prop><baseline-collection xmlns=\"DAV:\"/"...,
148, 0) =
148
poll([{fd=4, events=POLLIN}], 1, 3600000 <unfinished ...>
the overhead of http:// svndav protocol comparing to svn:// looks really
big
Reproduce code:
---------------
fast:
$ svn co ...
$ svn up
$ svn switch http://..
reproducing
$ svn switch http://..
# CTRL+C, make sure it break in the middle of update, leaving most file
not switched
slow:
# resume the switch, really slow. nothing display until half an hour or so
later, it begin switching like normal speed
$ svn switch http://..
--
Edit bug report at http://bugs.php.net/?id=48995&edit=1
--
Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=48995&r=trysnapshot52
Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=48995&r=trysnapshot53
Try a snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=48995&r=trysnapshot60
Fixed in SVN: http://bugs.php.net/fix.php?id=48995&r=fixed
Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=48995&r=needdocs
Fixed in release: http://bugs.php.net/fix.php?id=48995&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=48995&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=48995&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=48995&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=48995&r=support
Expected behavior: http://bugs.php.net/fix.php?id=48995&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=48995&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=48995&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=48995&r=globals
PHP 4 support discontinued: http://bugs.php.net/fix.php?id=48995&r=php4
Daylight Savings: http://bugs.php.net/fix.php?id=48995&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=48995&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=48995&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=48995&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=48995&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=48995&r=mysqlcfg