Missing info in release notes about http bulk updates config options

2013-06-12 Thread Johan Corveleyn
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


Re: Missing info in release notes about http bulk updates config options

2013-06-14 Thread Lieven Govaerts
I'm working on a text to describe how these work, including two tables
detailing all possible combinations.
Lieven

On Thu, Jun 13, 2013 at 1:20 AM, Johan Corveleyn  wrote:
> 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


Re: Missing info in release notes about http bulk updates config options

2013-06-19 Thread Julian Foad
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


Re: Missing info in release notes about http bulk updates config options

2013-06-19 Thread Johan Corveleyn
Relaying the ping to Lieven :-), as he said here that he was working
on a text for the release notes:

http://svn.haxx.se/dev/archive-2013-06/0290.shtml

--
Johan

On Wed, Jun 19, 2013 at 3:44 PM, Julian Foad  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


[PATCH] for 1.8 release notes (was Re: Missing info in release notes about http bulk updates config options)

2013-06-19 Thread Lieven Govaerts
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  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.
 
 
-Note that 
+Note that
 http://svn.haxx.se/dev/archive-2011-01/0320.shtml";
 >server-side configuration changes might be required to avoid
 performance regressions for serf clients in some setups.
@@ -402,22 +402,120 @@ Clients using neon will also work fine with this c
 
 
 
-Server logs larger with serf clients
-  Skelta style updates are now the default
+  ¶
 
 
-This affects any server version, when accessed with a 1.8
-client.
+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.
 
-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
+The main benefit of skelta mode is that it allows a correctly set up Apache
+server or intermediate proxy server to cache mod_dav_svn’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.
+
+Skelta mode has some disadvantages:
+
+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
 http://svn.apache.org/viewvc?rev=1239697&view=rev";
->r1239697.
+>r1239697.
+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.
+
 
+This release introduces two options to control if the svn client will use
+skelta or bulk update mode.
+
+
+ For the server administrator: The SVNAllowBulkUpdates directive 
for
+mod_dav_svn now accepts Prefer. 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.
+
+For the user: Set the new option http-bulk-updates in the servers
+runtime configuration file to yes to force the use of bulk updates,
+no to never use bulk updates. The default option auto makes
+svn use skelta mode with a 1.8 server, and bulk updates mode with older
+servers.
+
+
+
+
+Set SVNAllowBulkUpdates to Prefer 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.
+
+
+Table explaining the mode used between each combination of svn client and
+server version and relevant configuration directives:
+
+
+  
+
+1.8 Serverwith SVNAllowBulkUpdates:
+1.7 and older Serverwith SVNAllowBulkUpdates:
+  
+  
+Subversion Client
+Off
+On*
+Prefer
+Off
+On*
+  
+  
+1.8, http-bulk-updates: auto*
+Skelta mode
+Skelta mode
+Bulk mode
+Skelta mode
+Bulk mode
+  
+  
+1.8, http-bulk-updates: yes
+Skelta mode
+Bulk mode
+Bulk mode
+Skelta mode
+Bulk mode
+ 

Re: [PATCH] for 1.8 release notes (was Re: Missing info in release notes about http bulk updates config options)

2013-06-19 Thread Johan Corveleyn
On Wed, Jun 19, 2013 at 10:10 PM, Lieven Govaerts  wrote:
> 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.

Thanks, Lieven. This is great and much needed info. I've taken the
liberty to commit it to the site, with some small tweaks:

- Corrected the id of the section to match the named anchor.

- Tweaked the part "For the user ..." to say that "auto" will use
skelta mode with a 1.8 server *unless it has SVNAllowBulkUpdates set
to Prefer*.

- Tweaked the notice about setting SVNAllowBulkUpdates to say *For 1.8
servers ...*.


If needed, further tweaks / fixes can be made while it's already live
on the site.

One possible addition that comes to mind (but I'll leave it to someone
else to write this -- it's already past 3 am here :-)): an additional
benefit of skelta mode is the client-side optimization of not
requesting pristines that are already in the pristine store (very
powerful when using 'switch', or when having multiple branches checked
out in a sparse working copy). But when adding that, the "notice"
suggesting to use "Prefer" if there is no intermediate caching server,
is no longer accurate (unless you see this client-side optimization as
just another caching server :-)).

--
Johan