[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: Evgeny Kotkov <evgeny.kotkov_at_visualsvn.com>
Date: Thu, 1 Mar 2018 21:14:56 +0300

Julian Foad <julianfoad_at_apache.org> writes:

> I added a skeleton "protocol changes" section to the release notes:
>
> http://subversion.a.o.local/docs/release-notes/1.10.html#protocol-changes
>
> Here is a starting point. Can anyone help fill in the details?

[...]

> Thoughts? Help?

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.

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.

- 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.

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

[table]

<TODO about svn://>
]]]

Thanks,
Evgeny Kotkov

Received on 2018-03-01 19:15:22 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.