Author: hwright Date: Wed Aug 17 13:01:30 2011 New Revision: 1158682 URL: http://svn.apache.org/viewvc?rev=1158682&view=rev Log: Reintegrate the 1.7.x-neon-default branch:
* 1.7.x-neon-default branch Make neon the default http library. Justification: Serf's relative stability is inferior to that of the rest of Subversion, and for such a critical piece of our architecture, this is unacceptable. Subversion package producers have voiced a vote of no confidence, and plan to ship with Neon as the default: http://svn.haxx.se/dev/archive-2011-07/0751.shtml http://svn.haxx.se/dev/archive-2011-06/0796.shtml Bug reports of the crash variety continue to be reported: http://svn.haxx.se/dev/archive-2011-07/0735.shtml Serf floods the target server with orders of magniture more requests, resulting in undesirable server log bloat. Further, the promise of performance has not been realized: https://ctf.open.collab.net/sf/wiki/do/viewPage/projects.csvn/wiki/HTTPv2 (As an aside, Serf's potential as a platform for future improvement remains unproven and doubtful. For example, HTTPv2 removes canonical resource URLs, which works against the caching proxy concept that seems to be the strongest argument in favor of Serf's approach. But that's not strictly germane here.) rhuijben: Trivial problems like r1153138 and less trivial compatibility problems like r1154278 should have been fixed a long time ago if we don't want to delay releasing 1.7.0 on this kind of serf problems. markphip: I understand why *we* would want Serf as default, so we can make it better, but it goes against all of the other conservatism in this project to make this the default when we *know* it is less stable, potentially lacks some of the features and is generally considerably slower than Neon. Serf's use of chunked transfer encoding means that it isn't supported by some HTTP proxies. Votes: +1: philip, cmpilato, rhuijben, markphip +0: gstein (per my comments in issue 3979, I believe we need a solution to probe the server with HTTP/1.1 support, then fall back to HTTP/1.0 support as needed; possibly some config support and other bits; I believe this is necessary for ra_serf as a default, yet doing this *properly* is not possible for the 1.7 release) Modified: subversion/branches/1.7.x/ (props changed) subversion/branches/1.7.x/STATUS subversion/branches/1.7.x/configure.ac subversion/branches/1.7.x/subversion/svn_private_config.hw subversion/branches/1.7.x/subversion/tests/cmdline/svntest/main.py Propchange: subversion/branches/1.7.x/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Aug 17 13:01:30 2011 @@ -1,5 +1,6 @@ /subversion/branches/1.5.x-r30215:870312 /subversion/branches/1.7.x-issue3888:1148937-1149162 +/subversion/branches/1.7.x-neon-default:1148803-1158680 /subversion/branches/1.7.x-r1152189:1152759-1154249 /subversion/branches/atomic-revprop:965046-1000689 /subversion/branches/bdb-reverse-deltas:872050-872529 Modified: subversion/branches/1.7.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1158682&r1=1158681&r2=1158682&view=diff ============================================================================== --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Wed Aug 17 13:01:30 2011 @@ -206,52 +206,3 @@ Veto-blocked changes: Approved changes: ================= - - * 1.7.x-neon-default branch - Make neon the default http library. - Justification: - Serf's relative stability is inferior to that of the rest of - Subversion, and for such a critical piece of our architecture, - this is unacceptable. - - Subversion package producers have voiced a vote of no confidence, - and plan to ship with Neon as the default: - http://svn.haxx.se/dev/archive-2011-07/0751.shtml - http://svn.haxx.se/dev/archive-2011-06/0796.shtml - - Bug reports of the crash variety continue to be reported: - http://svn.haxx.se/dev/archive-2011-07/0735.shtml - - Serf floods the target server with orders of magniture more - requests, resulting in undesirable server log bloat. - - Further, the promise of performance has not been realized: - https://ctf.open.collab.net/sf/wiki/do/viewPage/projects.csvn/wiki/HTTPv2 - - (As an aside, Serf's potential as a platform for future - improvement remains unproven and doubtful. For example, HTTPv2 - removes canonical resource URLs, which works against the caching - proxy concept that seems to be the strongest argument in favor of - Serf's approach. But that's not strictly germane here.) - - rhuijben: Trivial problems like r1153138 and less trivial compatibility - problems like r1154278 should have been fixed a long time ago if we don't - want to delay releasing 1.7.0 on this kind of serf problems. - - markphip: I understand why *we* would want Serf as default, so we can - make it better, but it goes against all of the other conservatism in - this project to make this the default when we *know* it is less stable, - potentially lacks some of the features and is generally considerably - slower than Neon. - - Serf's use of chunked transfer encoding means that it isn't supported - by some HTTP proxies. - Votes: - +1: philip, cmpilato, rhuijben, markphip - +0: gstein (per my comments in issue 3979, I believe we need a - solution to probe the server with HTTP/1.1 support, - then fall back to HTTP/1.0 support as needed; - possibly some config support and other bits; I - believe this is necessary for ra_serf as a default, - yet doing this *properly* is not possible for the 1.7 - release) Modified: subversion/branches/1.7.x/configure.ac URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/configure.ac?rev=1158682&r1=1158681&r2=1158682&view=diff ============================================================================== --- subversion/branches/1.7.x/configure.ac (original) +++ subversion/branches/1.7.x/configure.ac Wed Aug 17 13:01:30 2011 @@ -1314,7 +1314,7 @@ DEFAULT_FS_TYPE="fsfs" AC_DEFINE_UNQUOTED(DEFAULT_FS_TYPE, "$DEFAULT_FS_TYPE", [The fs type to use by default]) -DEFAULT_HTTP_LIBRARY="serf" +DEFAULT_HTTP_LIBRARY="neon" AC_DEFINE_UNQUOTED(DEFAULT_HTTP_LIBRARY, "$DEFAULT_HTTP_LIBRARY", [The http library to use by default]) Modified: subversion/branches/1.7.x/subversion/svn_private_config.hw URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/svn_private_config.hw?rev=1158682&r1=1158681&r2=1158682&view=diff ============================================================================== --- subversion/branches/1.7.x/subversion/svn_private_config.hw (original) +++ subversion/branches/1.7.x/subversion/svn_private_config.hw Wed Aug 17 13:01:30 2011 @@ -59,7 +59,7 @@ #define DEFAULT_FS_TYPE "fsfs" /* The default HTTP library to use */ -#define DEFAULT_HTTP_LIBRARY "serf" +#define DEFAULT_HTTP_LIBRARY "neon" /* Define to the Python/C API format character suitable for apr_int64_t */ #if defined(_WIN64) Modified: subversion/branches/1.7.x/subversion/tests/cmdline/svntest/main.py URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/tests/cmdline/svntest/main.py?rev=1158682&r1=1158681&r2=1158682&view=diff ============================================================================== --- subversion/branches/1.7.x/subversion/tests/cmdline/svntest/main.py (original) +++ subversion/branches/1.7.x/subversion/tests/cmdline/svntest/main.py Wed Aug 17 13:01:30 2011 @@ -1462,7 +1462,7 @@ def create_default_options(): def _create_parser(): """Return a parser for our test suite.""" # set up the parser - _default_http_library = 'serf' + _default_http_library = 'neon' usage = 'usage: %prog [options] [<test> ...]' parser = optparse.OptionParser(usage=usage) parser.add_option('-l', '--list', action='store_true', dest='list_tests',