Require ZSTD >= 1.4.0, greatly simplifying related code #13362
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary: Leading up to some compression code refactoring, we have a bit of an ifdef nightmare in compression.h relating to zstd support. With the major release RocksDB 10.0.0 coming up, it is a good time to clean up much of this tech debt by requiring zstd >= 1.4.0 (April 2019) if building RocksDB with ZSTD support. For example, Ubuntu 20, the first LTS version to properly support C++17 in its built-in gcc, comes with zstd version 1.4.4. This should not be a significant limitation.
ZSTD_VERSION_NUMBER
checks are simplified to justZSTD
, thoughROCKSDB_ZSTD_DDICT
still needs to be separate because of dependency onZSTD_STATIC_LINKING_ONLY
(added to fbcode_config_platform010.sh by the way)kZSTDNotFinalCompression
#if
branches (e.g.ZSTDUncompressCachedData
)Test Plan: minor unit test updates.
make check
on several build variants with/without zstd and with/withoutZSTD_STATIC_LINKING_ONLY