You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Bert Huijben <be...@qqmail.nl> on 2013/06/21 20:12:04 UTC

RE: svn commit: r1494829 -

 /subversion/site/publish/docs/release-notes/1.8.html
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

Skelta mode was the only supported mode in 1.0 (not new in 1.6), we
switched neon to bulk mode later for performance reasons.

Bert From: jcorvel@apache.org
Sent: =E2=80=8E20/=E2=80=8E06/=E2=80=8E2013 03:09
To: commits@subversion.apache.org
Subject: svn commit: r1494829
- /subversion/site/publish/docs/release-notes/1.8.html
Author: jcorvel
Date: Thu Jun 20 01:09:20 2013
New Revision: 1494829

URL: http://svn.apache.org/r1494829
Log:
Add information about serf skelta mode and the configuration knobs involved
to the 1.8 release notes.

Patch by: lgo
          (tweaked by me)

Modified:
    subversion/site/publish/docs/release-notes/1.8.html

Modified: subversion/site/publish/docs/release-notes/1.8.html
URL: http://svn.apache.org/viewvc/subversion/site/publish/docs/release-note=
s/1.8.html?rev=3D1494829&r1=3D1494828&r2=3D1494829&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- subversion/site/publish/docs/release-notes/1.8.html (original)
+++ subversion/site/publish/docs/release-notes/1.8.html Thu Jun 20 01:09:20=
 2013
@@ -401,24 +401,124 @@ TCP connections to the server.
 Clients using neon will also work fine with this configuration.</p>
 </div>
=20
-<div class=3D"h4" id=3D"serf-server-log">
-<h4>Server logs larger with serf clients
-  <a class=3D"sectionlink" href=3D"#serf-server-log"
+<div class=3D"h4" id=3D"serf-skelta-default">
+<h4>Skelta style updates are now the default
+  <a class=3D"sectionlink" href=3D"#serf-skelta-default"
     title=3D"Link to this section">&para;</a>
 </h4>
=20
-<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 resour=
ces in
+one massive reponse.</p>
+
+<p>The main benefit of skelta mode is that it allows a correctly set up Ap=
ache
+server or intermediate proxy server to cache <tt>mod_dav_svn</tt>=C3=A2=C2=
=80=C2=99s 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 al=
lows
+a more detailed audit of clients accessing resources in a Subversion
+repository.</p>
=20
-<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,=20
-the httpd error logs may also grow more rapidly with serf clients
-than with neon clients; see
+<p>Skelta mode has some disadvantages:</p>
+<ul>
+<li>Apache server access log files will grow more quickly due to the large=
r
+number of requests and responses. As of 1.7.3, the httpd error logs may al=
so
+grow more rapidly with serf clients than with neon clients; see
 <a href=3D"http://svn.apache.org/viewvc?rev=3D1239697&amp;view=3Drev"
->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 an=
d
+response.</li>
+</ul>
+
+<p>This release introduces two options to control if the svn client will u=
se
+skelta or bulk update mode.</p>
+<p>
+<ul>
+<li> For the server administrator: The <tt>SVNAllowBulkUpdates</tt> direct=
ive 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 defa=
ult
+configuration (see table) will respect this preference.</li>
+
+<li>For the user: Set the new option <tt>http-bulk-updates</tt> in the ser=
vers
+runtime configuration file to <em>yes</em> to force the use of bulk update=
s,
+<em>no</em> to never use bulk updates. The default option <em>auto</em> ma=
kes
+svn use skelta mode with a 1.8 server (unless it has <tt>SVNAllowBulkUpdat=
es</tt>
+set to <tt>Prefer</tt>), and bulk updates mode with
+older servers and 1.8 servers which prefer bulk updates.</li>
+</ul>
+</p>
+
+<div class=3D"notice">
+<p>For 1.8 servers, 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 a=
nd
+server version and relevant configuration directives:</p>
+
+<table border=3D"1">
+  <tr>
+    <th></th>
+    <th colspan=3D"3">1.8 Server<br/>with SVNAllowBulkUpdates:</th>
+    <th colspan=3D"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>
=20
-</div>  <!-- serf-server-log -->
+</div>  <!-- serf-skelta-default -->
=20
 </div>  <!-- neon-deleted -->
=20

Re: svn commit: r1494829 -

Posted by "C. Michael Pilato" <cm...@collab.net>.
On 06/21/2013 02:16 PM, Mark Phippard wrote:
> On Fri, Jun 21, 2013 at 2:12 PM, Bert Huijben <be...@qqmail.nl> wrote:
> 
>> Skelta mode was the only supported mode in 1.0 (not new in 1.6), we
>> switched neon to bulk mode later for performance reasons.
> 
> My understanding was that Neon originally supported skelta mode only,
> but that was before 1.0.  Switching to bulk mode happened before 1.0
> to enable the performance needed for release.
> 
> Mike Pilato added the server side switch later (1.5?) to force Neon to
> use skelta mode.  The code was already there and worked, the server
> just never used it.  This switch was added because a couple of users
> wanted the log trail to show every file in their repository that was
> read and did not care about the performance hit.
> 
> I could be wrong, but that is how I remember this.

u r !wrong
u r ite

-- 
C. Michael Pilato <cm...@collab.net>
CollabNet   <>   www.collab.net   <>   Enterprise Cloud Development


Re: svn commit: r1494829 -

Posted by Mark Phippard <ma...@gmail.com>.
On Fri, Jun 21, 2013 at 2:12 PM, Bert Huijben <be...@qqmail.nl> wrote:

> Skelta mode was the only supported mode in 1.0 (not new in 1.6), we
> switched neon to bulk mode later for performance reasons.

My understanding was that Neon originally supported skelta mode only,
but that was before 1.0.  Switching to bulk mode happened before 1.0
to enable the performance needed for release.

Mike Pilato added the server side switch later (1.5?) to force Neon to
use skelta mode.  The code was already there and worked, the server
just never used it.  This switch was added because a couple of users
wanted the log trail to show every file in their repository that was
read and did not care about the performance hit.

I could be wrong, but that is how I remember this.

-- 
Thanks

Mark Phippard
http://markphip.blogspot.com/