Hi, Attached a patch to the site branch that tries to explain SVNAllowBulkUpdates and http-bulk-updates in the 1.8 release notes.
Anyone care to review and fix where needed? I'm not a lot at my pc tonight and tomorrow so feel free to commit directly. regards, Lieven On Wed, Jun 19, 2013 at 3:44 PM, Julian Foad <julianf...@btopenworld.com> wrote: > Ping! > > - Julian > > > Johan Corveleyn wrote on 2013-06-12: > >> Before I forget, I just noticed that there is no mention anywhere in >> the release notes about the http-bulk-updates or the corresponding >> server side options. I think it's important to at least mention them, >> and hopefully give some recommendations, in the section about serf. >> The yellow box there, highlighting server configuration changes, only >> talks about MaxKeepAliveRequests currently. >> >> Can these things be added to the release notes by someone who knows >> enough about those options (i.e. not me :-)? >> >> (in passing, I also noticed that the default 'servers' config file >> still contains some neon-specific settings. But perhaps that's >> intentional, because people can use different svn clients using the >> same runtime config area? Or go back and forth between versions.) >> >> -- >> Johan
Index: publish/docs/release-notes/1.8.html =================================================================== --- publish/docs/release-notes/1.8.html (revision 1494710) +++ publish/docs/release-notes/1.8.html (working copy) @@ -389,7 +389,7 @@ HTTP client interfaces (and sets of bugs!) serf is client provider for Subversion.</p> <div class="notice"> -<p>Note that +<p>Note that <a href="http://svn.haxx.se/dev/archive-2011-01/0320.shtml" >server-side configuration changes</a> might be required to avoid performance regressions for serf clients in some setups.</p> @@ -402,22 +402,120 @@ Clients using neon will also work fine with this c </div> <div class="h4" id="serf-server-log"> -<h4>Server logs larger with serf clients - <a class="sectionlink" href="#serf-server-log" +<h4>Skelta style updates are now the default + <a class="sectionlink" href="#serf-skelta-default" title="Link to this section">¶</a> </h4> -<p><em>This affects any server version, when accessed with a 1.8 -client.</em></p> +<p>The svn 1.8 client with serf defaults to skelta mode for update +operations (checkout, update, merge and export) instead of the bulk update mode +used by previous versions. Skelta mode was introduced in Subversion 1.6.0 and +improved in 1.8.0. It uses one HTTP request and response per resource that needs +to be fetched from the server, whereas bulk update mode fetches all resources in +one massive reponse.</p> -<p>Because serf clients issue a larger number of HTTP GET requests -than neon clients it is possible that serf clients cause quicker -growth of httpd server logs than neon clients do. As of 1.7.3, -the httpd error logs may also grow more rapidly with serf clients -than with neon clients; see +<p>The main benefit of skelta mode is that it allows a correctly set up Apache +server or intermediate proxy server to cache <tt>mod_dav_svn</tt>’s responses to +handle later requests from the cache. This results in improved performance of +svn client operations and reduced CPU usage on the server side. It also allows +a more detailed audit of clients accessing resources in a Subversion +repository.</p> + +<p>Skelta mode has some disadvantages:</p> +<ul> +<li>Apache server access log files will grow more quickly due to the larger +number of requests and responses. As of 1.7.3, the httpd error logs may also +grow more rapidly with serf clients than with neon clients; see <a href="http://svn.apache.org/viewvc?rev=1239697&view=rev" ->r1239697</a>.</p> +>r1239697</a>.</li> +<li>Network traffic can increase drastically when Kerberos or NTLM +authentication is used, as these add a 2 - 4 KB header per HTTP request and +response.</li> +</ul> +<p>This release introduces two options to control if the svn client will use +skelta or bulk update mode.</p> +<p> +<ul> +<li> For the server administrator: The <tt>SVNAllowBulkUpdates</tt> directive for +<tt>mod_dav_svn</tt> now accepts <tt>Prefer</tt>. This will advise the svn +client to always use bulk update mode. All svn client versions with a default +configuration (see table) will respect this preference.</li> + +<li>For the user: Set the new option <tt>http-bulk-updates</tt> in the servers +runtime configuration file to <em>yes</em> to force the use of bulk updates, +<em>no</em> to never use bulk updates. The default option <em>auto</em> makes +svn use skelta mode with a 1.8 server, and bulk updates mode with older +servers.</li> +</ul> +</p> + +<div class="notice"> +<p>Set <strong>SVNAllowBulkUpdates</strong> to <strong>Prefer</strong> if your +server configuration does not allow an intermediate caching server - on your +side or on the client's side - to successfully cache server responses.</p> +</div> + +<p>Table explaining the mode used between each combination of svn client and +server version and relevant configuration directives:</p> + +<table border="1"> + <tr> + <th></th> + <th colspan="3">1.8 Server<br/>with SVNAllowBulkUpdates:</th> + <th colspan="2">1.7 and older Server<br/>with SVNAllowBulkUpdates:</th> + </tr> + <tr> + <th>Subversion Client</th> + <th>Off</th> + <th>On<sup>*</sup></th> + <th>Prefer</th> + <th>Off</th> + <th>On<sup>*</sup></th> + </tr> + <tr> + <td>1.8, <tt>http-bulk-updates: auto</tt><sup>*</sup></td> + <td>Skelta mode</td> + <td>Skelta mode</td> + <td>Bulk mode</td> + <td>Skelta mode</td> + <td>Bulk mode</td> + </tr> + <tr> + <td>1.8, <tt>http-bulk-updates: yes</tt></td> + <td>Skelta mode</td> + <td>Bulk mode</td> + <td>Bulk mode</td> + <td>Skelta mode</td> + <td>Bulk mode</td> + </tr> + <tr> + <td>1.8, <tt>http-bulk-updates: no</tt></td> + <td>Skelta mode</td> + <td>Skelta mode</td> + <td>Skelta mode</td> + <td>Skelta mode</td> + <td>Skelta mode</td> + </tr> + <tr> + <td>1.7 and older with neon<sup>*</sup></td> + <td>Skelta mode</td> + <td>Bulk mode</td> + <td>Bulk mode</td> + <td>Skelta mode</td> + <td>Bulk mode</td> + </tr> + <tr> + <td>1.7 and older with serf</td> + <td>Skelta mode</td> + <td>Skelta mode</td> + <td>Skelta mode</td> + <td>Skelta mode</td> + <td>Skelta mode</td> + </tr> +</table> +<p><sup>*</sup>Default configuration</p> + </div> <!-- serf-server-log --> </div> <!-- neon-deleted -->