-
Notifications
You must be signed in to change notification settings - Fork 91
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[vpj] Cleanup dictionary fetching logic from various sources (#903)
Currently VPJ either builds a dictionary or fetches it from various sources to optimize the compression ratios. However, this logic seemed a bit confusing and there was scope to streamline the implementation. This commit splits "VenicePushJob#getCompressionDictionary()" into two functions - "VenicePushJob#getCompressionDictionary()" and "VenicePushJob#fetchOrBuildCompressionDictionary()". "VenicePushJob#fetchOrBuildCompressionDictionary()" handles the logic of how to get the compression dictionary based on various store and job properties, and "VenicePushJob#getCompressionDictionary()" unifies the error handling and fallback to synthetic dictionaries if the compression strategy is "ZSTD_WITH_DICT". The case where use.mapper.to.build.dictionary is false, and dictionary build fails, would previously throw exceptions (even for "ZSTD_WITH_DICT"). This change handles it gracefully and uses a dictionary built on synthetic data instead.
- Loading branch information
1 parent
f0725b4
commit f4dced5
Showing
2 changed files
with
101 additions
and
109 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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