Author: kotkov Date: Mon Mar 5 10:45:59 2018 New Revision: 1825865 URL: http://svn.apache.org/viewvc?rev=1825865&view=rev Log: Extend the 1.10 release notes with a subsection about using LZ4 compression over the wire. For now, only document the negotiation and choice of the compression algorithm for http://, and leave a TODO about svn://.
* docs/release-notes/1.10.html (LZ4 compression): Extend the opener with the information that LZ4 compression is supported for both http:// and svn://. (LZ4 compression over the wire in http:// and svn:// connections): New subsection. (New Feature Compatibility Table): Link to the new subsection. Modified: subversion/site/staging/docs/release-notes/1.10.html Modified: subversion/site/staging/docs/release-notes/1.10.html URL: http://svn.apache.org/viewvc/subversion/site/staging/docs/release-notes/1.10.html?rev=1825865&r1=1825864&r2=1825865&view=diff ============================================================================== --- subversion/site/staging/docs/release-notes/1.10.html (original) +++ subversion/site/staging/docs/release-notes/1.10.html Mon Mar 5 10:45:59 2018 @@ -136,7 +136,7 @@ and what impact these changes may have.< <td>Use SVN 1.8 and above clients only for best results.</td></tr> <tr> <td> - <a href="#lz4">LZ4 compression over the wire in http:// connections</a> + <a href="#lz4-over-the-wire">LZ4 compression over the wire in http:// and svn:// connections</a> </td> <td>1.10</td> <td>1.10</td> @@ -542,7 +542,9 @@ containing large files. </p> <p>LZ4 compression is now used by default for the on-disk data in repositories -with filesystem format 8 (see below).</p> +with filesystem format 8. Also, Subversion 1.10 adds support for automatic +negotiation and use of LZ4 compression over the wire for http:// and svn:// +connections when it is supported by both endpoints.</p> <p><b>Note:</b> this does not apply to the pre-release <a href="https://lists.apache.org/thread.html/dd78432b301f3f95567930c242c46b308c8a017fd754c0f388245915@%3Cannounce.subversion.apache.org%3E">Subversion 1.10.0-alpha3</a> @@ -602,6 +604,119 @@ cycle into a new format 8 repository cre </div> <!-- fsfs-lz4-configuration --> +<div class="h4" id="lz4-over-the-wire"> +<h4>LZ4 compression over the wire in http:// and svn:// connections + <a class="sectionlink" href="#lz4-over-the-wire" + title="Link to this section">¶</a> +</h4> + +<p>Deltas transferred between Subversion 1.10 clients and servers may be +compressed with LZ4. The actual choice of the compression algorithm depends +on the used protocol, environment and its configuration — see below.</p> + +<p>For <b>http://</b> protocol, use of LZ4 compression depends on the values +of the server-side <tt>SVNCompressionLevel</tt> directive, client-side +<tt>http-compression</tt> configuration option and on the network +capabilities. LZ4 compression generally offers much faster compression +and decompression speeds, but slightly worse compression ratio than zlib. +By default, it is only preferred for low latency networks where the +overhead associated with transferring the additional amount of data is +assumed to be negligible.<p> + +<ul> + <li> + <p>On the <b>server-side</b>, <tt>SVNCompressionLevel 0</tt> + can be used to disable compression altogether. The special value of + <tt>SVNCompressionLevel 1</tt> forces the use of LZ4 compression for + clients that support it. All other values result in preferring zlib + compression with the respective compression level. Note that the + negotiated algorithm is still subject to the client's configuration. + For example, even if the server is configured to prefer zlib compression + over LZ4, a client may still negotiate the use of LZ4 compression when + its <tt>http-compression</tt> option is set to <tt>auto</tt>.</p> + </li> + <li> + <p>On the <b>client-side</b>, setting <tt>http-compression</tt> to + either <tt>yes</tt> or <tt>no</tt> will enable or disable compression + that is then negotiated based on the server's configuration. + The default value of <tt>auto</tt> will result in preferring LZ4 + compression for low latency networks and zlib compression otherwise.</p> + </li> +</ul> + +<p>Below is the table explaining the used compression algorithm in each +combination of the client- and server-side configuration options:</p> + +<table border="1"> + <tr> + <th></th> + <th colspan="3">1.10 Server<br />with SVNCompressionLevel:</th> + <th colspan="2">1.9 and older Server<br />with SVNCompressionLevel:</th> + </tr> + <tr> + <th>Subversion Client</th> + <th>0</th> + <th>1</th> + <th>2-9 (default: 5)<sup>*</sup></th> + <th>0</th> + <th>1-9 (default: 5)<sup>*</sup></th> + </tr> + <tr> + <td>1.10, <tt>http-compression: auto</tt><sup>*</sup>, low latency</td> + <td>No compression</td> + <td><b>LZ4</b> compression</td> + <td><b>LZ4</b> compression</td> + <td>No compression</td> + <td>zlib compression</td> + </tr> + <tr> + <td>1.10, <tt>http-compression: auto</tt><sup>*</sup>, high latency</td> + <td>No compression</td> + <td><b>LZ4</b> compression</td> + <td>zlib compression</td> + <td>No compression</td> + <td>zlib compression</td> + </tr> + <tr> + <td>1.10, <tt>http-compression: yes</tt></td> + <td>No compression</td> + <td><b>LZ4</b> compression</td> + <td>zlib compression</td> + <td>No compression</td> + <td>zlib compression</td> + </tr> + <tr> + <td>1.10, <tt>http-compression: no</tt></td> + <td>No compression</td> + <td>No compression</td> + <td>No compression</td> + <td>No compression</td> + <td>No compression</td> + </tr> + <tr> + <td>1.9 and older, <tt>http-compression: yes</tt><sup>*</sup></td> + <td>No compression</td> + <td>zlib compression</td> + <td>zlib compression</td> + <td>No compression</td> + <td>zlib compression</td> + </tr> + <tr> + <td>1.9 and older, <tt>http-compression: no</tt></td> + <td>No compression</td> + <td>No compression</td> + <td>No compression</td> + <td>No compression</td> + <td>No compression</td> + </tr> +</table> + +<p><sup>*</sup> Default configurations</p> + +<!-- TODO: describe LZ4 over svn:// --> + +</div> <!-- lz4-over-the-wire --> + </div> <!-- lz4 --> <div class="h3" id="shelving">