Support lz4 and zstd compression by static link

Description

rocksdb can detect and use snappy, lz4, and bz2 but the cmake incantation assumes they are all available as a system installed library. We need to decide if this is an acceptable demand or if we need to bundle them like we do in PerconaFT.

Environment

None

Smart Checklist

Activity

Show:

George Lorch July 6, 2017 at 6:16 PM

So here is a jenkins run using mtr combinations : http://jenkins.percona.com/view/5.7/job/mysql-5.7-param/1034/

The combinations of compression used were :
rocksdb_default_cf_options=compression_per_level=kNoCompression
rocksdb_default_cf_options=compression_per_level=kZlibCompression
rocksdb_default_cf_options=compression_per_level=kLZ4Compression
rocksdb_default_cf_options=compression_per_level=kZSTDNotFinalCompression;compression_opts=-14:4:0

This means that each test in the rocksdb, rocksdb.rpl, and rocksdb.sys_vars suite was run once with each of the above column family compression settings.

The failed tests are the same as the failed tests I have run locally and are expected failures due to the option change (i.e. recorded results of things like "SHOW VARIABLES LIKE 'rocksdb_default_cf_options'") and other behavior changes that occur as a result of compression (smaller file sizes, different compaction behaviors, etc...).

So I am pretty confident in the compression at this point and do welcome any additional testing or mtr additions for some kind of lightweight CI/regression testing.

Laurynas Biveinis June 22, 2017 at 2:01 AM

Your branch LGTM (while the decision does not, but I root for it to be the correct one given the circumstances)

Done

Details

Assignee

Reporter

Components

Fix versions

Priority

Smart Checklist

Created October 19, 2016 at 7:10 PM
Updated December 27, 2018 at 1:42 PM
Resolved July 12, 2017 at 4:13 PM

Flag notifications