-
Notifications
You must be signed in to change notification settings - Fork 0
[pull] main from facebook:main #47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Summary: Some specific old versions around RocksDB 2.5 would compress the metaindex and properties blocks. This hasn't been done since, probably because it interferes with the properties block indicating how to set up for decompression (so the reader can read those blocks before doing any decompression). To fix backward compatibility, we establish a decompressor early if format_version indicates the file could come from a sufficiently old version. Pull Request resolved: #13628 Test Plan: local and CI runs of tools/check_format_compatible.sh. (I don't believe we need special code to set up a unit test for this case.) Reviewed By: jowlyzhang Differential Revision: D75107623 Pulled By: pdillinger fbshipit-source-id: 97132b8c5e0602e8e27254a11386d866b23cb4f5
|
🚨 gitStream Monthly Automation Limit Reached 🚨 Your organization has exceeded the number of pull requests allowed for automation with gitStream. To continue automating your PR workflows and unlock additional features, please contact LinearB. |
Reviewer's GuideAdds backward compatibility for ancient block-based table formats by initializing legacy decompression for metaindex blocks when format_version<2 and clarifying unspecified/unrecognized compression handling for older files lacking a compression_name property. Sequence Diagram: Legacy Metaindex Decompressor Initialization in BlockBasedTable::OpensequenceDiagram
title "Sequence Diagram: Legacy Metaindex Decompressor Initialization in BlockBasedTable::Open"
participant OpenMethod as "BlockBasedTable::Open()"
participant FooterObj as "footer (Footer)"
participant GlobalFuncs as "GlobalFunctions"
participant CompMgrInstance as "CompressionManager (instance)"
participant DecompressorInstance as "Decompressor (instance)"
OpenMethod->>FooterObj: format_version()
FooterObj-->>OpenMethod: version
alt if version < 2
OpenMethod->>GlobalFuncs: GetBuiltinCompressionManager(1)
GlobalFuncs-->>OpenMethod: comp_mgr_instance
OpenMethod->>CompMgrInstance: GetDecompressor()
CompMgrInstance-->>OpenMethod: decompressor_instance
OpenMethod->>OpenMethod: rep->decompressor = decompressor_instance
end
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Join our Discord community for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.1)
Can you help keep this open source service alive? 💖 Please sponsor : )
Summary by Sourcery
Allow backward compatibility for decompression of ancient block-based table formats and clarify handling of older unspecified compression cases
Enhancements: