#48995 [Asn->Ver]: resuming svn switch is too slow

From: Date: Mon, 05 Oct 2009 10:36:23 +0000
Subject: #48995 [Asn->Ver]: resuming svn switch is too slow
References: 1  Groups: php.webmaster 
Request: Send a blank email to php-webmaster+get-6056@lists.php.net to get a copy of this message
ID: 48995 Updated by: gwynne@php.net Reported By: xuefer at gmail dot com -Status: Assigned +Status: Verified Bug Type: Website problem Operating System: Any PHP Version: Irrelevant Assigned To: gwynne Previous Comments: ------------------------------------------------------------------------ [2009-07-21 05:21:25] gwynne@php.net We're looking into providing svn:// protocol access to the PHP repository, but there's absolutely no ETA on when this might be implemented. I'll update this bug when I know more about when/how it'll take shape. Please keep in mind that the larger your checkout, the longer some operations will take no matter the protocol. ------------------------------------------------------------------------ [2009-07-21 05:16:26] xuefer at gmail dot com 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 this bug report at http://bugs.php.net/?id=48995&edit=1

« previous php.webmaster (#6056) next »