Keep only none/zstd138 compression#857
Open
hnwyllmm wants to merge 8 commits into
Open
Conversation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- test_ob_log_compressor: invalid compressor names now return OB_NOT_SUPPORTED from the pool instead of OB_INVALID_ARGUMENT - test_compressor: use zstd_1_3_8 namespace and class Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace all references to removed compressor names (lz4_1.0, snappy_1.0 zlib_1.0, zstd_1.0, lz4_1.9.1) with zstd_1.3.8 in mysqltest .test and .result files. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Map old compressor names (lz4_1.0, snappy_1.0, zlib_1.0, zstd_1.0 lz4_1.9.1, stream_lz4_1.0, stream_zstd_1.0) to zstd_1.3.8 in get_compressor_type so existing SQL statements and external tools that reference removed compressor names continue to work. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ObZlibCompressor was kept for MySQL protocol but returned NONE_COMPRESSOR type. Add ZLIB_COMPRESSOR back to the enum and register it in ObCompressorPool so zlib is a first-class compressor backed by the system zlib static library. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- deps/oblib/src/lib/thread/thread.cpp - src/objit/CMakeLists.txt
Remove LZ4, Snappy, and old ZSTD compression libraries from the codebase retaining only NONE_COMPRESSOR, ZSTD_1_3_8_COMPRESSOR, and STREAM_ZSTD_1_3_8_COMPRESSOR. The zlib wrapper is kept as it is required by MySQL protocol compression and SQL engine gzip functionality. Enum values are renumbered: ZSTD_1_3_8_COMPRESSOR=2 STREAM_ZSTD_1_3_8_COMPRESSOR=3. All default compressor references (previously LZ4) are updated to ZSTD_1_3_8. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
00b1bb1 to
d72cf3b
Compare
|
虹武 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Task Description
Keep only the
noneandzstd138compression algorithms in the codebase.Solution Description
This change removes support for other compression libraries (lz4, snappy, and older versions of zstd), retaining only the
none(no compression) andzstd138compression options.Passed Regressions
Upgrade Compatibility
Other Information
Code Changes
Breakdown:
Binary Size Impact
Using the zstd_1_3_8 compilation artifact as a reference (848KB .text segment / 2.4M .o file), the estimated impact of removing the three libraries:
The stripped binary is approximately 534MB. A reduction of ~1.2-1.5MB in the .text segment represents about 0.2-0.3% of the stripped binary size. The compression libraries themselves are not large; the primary benefits are in code simplicity and reduced maintenance cost.
Related Links
Release Note