[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: 1.10 release notes: protocol changes, LZ4, etc.

From: Julian Foad <julianfoad_at_apache.org>
Date: Thu, 1 Mar 2018 20:40:29 +0000

Evgeny Kotkov wrote:
> Maybe we could start with adding a subsection about that describes using
> LZ4 for http:// and svn:// to the users. If needed, we could then include
> the technical details about the negotiation into the "Client-Server Protocol
> Changes" and cross-link these two sections.

Agreed. (And I think we should include protocol details -- at least a
summary and references to where to find the details.)

> For the http:// part, we could probably do something along the lines of
> the attached patch. Here is also the same content as plain text for
> convenience:
>
> [[[
> LZ4 compression over the wire in http:// and svn:// connections
>
> 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.
>
> For http:// protocol, use of LZ4 compression depends on the values of
> the server-side SVNCompressionLevel directive, client-side http-compression
> 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 over low latency networks where the overhead associated with
> transferring the additional amount of data is assumed to be negligible.
>
> - On the server-side, SVNCompressionLevel 0 can be used to disable
> compression altogether. The special value of SVNCompressionLevel 1 forces
> the use of LZ4 compression for clients that support it. All other values
> result in negotiating the use of zlib compression with the respective
> compression level, unless the compression is disabled on the client.

There's a small disagreement with the table there: all other values
result in negotiating either zlib or LZ4.

> - On the client-side, setting http-compression to either yes or no will
> disable or enable compression that is then negotiated based on the server's
> configuration. The default value of auto will result in preferring LZ4
> compression over low latency networks and zlib compression otherwise.

Can we link to the reference documentation for the client and server
options, so the reader (me) can cross-check the definition and look for
related settings?

> Below is the table explaining the used compression algorithm in each
> combination of the client- and server-side configuration options:

That's helpful and clear.

Thanks. +1 to commit after resolving the "all other values" point above.

- Julian
Received on 2018-03-01 21:40:34 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.