Support LZ4 compression in .NET Core

Description

lz4net has been deprecated and moved to K4os.Compression.LZ4. The new library specifically exposes an API to read files created with the "legacy" library (lz4net). Also the new library is listed under the "Interoperable ports" section while lz4net is listed under the "Custom ports" section.

For these reasons, compatibility between these two libraries is not 100% guaranteed so we should only replace lz4net on a major version to be safe and mention this on the upgrade guide (see https://datastax-oss.atlassian.net/browse/CSHARP-898#icft=CSHARP-898).

Before the next major, we can introduce support for LZ4 compression on netstandard2.0 by importing K4os.Compression.LZ4 on netstandard2.0 only and keeping the legacy lz4net on net452.

Environment

None

Activity

Show:

Joao Reis 
May 4, 2020 at 11:07 AM

Scope of https://datastax-oss.atlassian.net/browse/CSHARP-719#icft=CSHARP-719 has been changed to "support for lz4 in .NET Core".

https://datastax-oss.atlassian.net/browse/CSHARP-898#icft=CSHARP-898 was created to replace legacy lz4net with the new library.

Joao Reis 
May 4, 2020 at 10:58 AM

+1 to removing lz4net on C# 4.0, we will merge https://github.com/datastax/csharp-driver/pull/520 and release it on 3.15.0

Aleksei Kharlov 
April 30, 2020 at 6:48 PM

In PR https://github.com/datastax/csharp-driver/pull/520 I’ve added K4os.Compression.LZ4 fon netstandard2.0 target only. For .NET Framework target lz4net is still used.

Please, confirm that we could release it in C# driver 3.15.0 version?

In v4.0.0 P-MAJOR-NEXT you could remove lz4net completely and use K4os.Compression.LZ4 for all targets.

Fixed

Details

Assignee

Reporter

Fix versions

Sprint

Priority

Created January 8, 2019 at 11:28 AM
Updated May 12, 2020 at 4:32 PM
Resolved May 12, 2020 at 4:32 PM