-
Notifications
You must be signed in to change notification settings - Fork 2.5k
[HUDI-1180] Upgrade HBase to 2.4.9 #5004
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
Merged
yihua
merged 36 commits into
apache:master
from
yihua:HUDI-1180-hbase-upgrade-ci-test-deps
Mar 25, 2022
Merged
Changes from all commits
Commits
Show all changes
36 commits
Select commit
Hold shift + click to select a range
5bbecae
[HUDI-2783] Upgrade HBase
codope 25896f3
Fix metablock buffered read in hfile reader
codope ca393d2
Replace hbase-shaded-server and shade some more deps
codope 1295af0
Rebase master
yihua d2f94af
Fix HoodieHFileReader
yihua 9dfe1cf
Revert hadoop upgrade
yihua b0b0e16
Fix hudi-hadoop-mr-bundle to include more dependencies and address CI…
yihua 615325f
Fix hudi-utilities-bundle
yihua ff7635d
Fix hudi-common
yihua 079d58b
Fix other bundles
yihua 6ae79af
Use hadoop 2.10.1
yihua 8c681be
Shade dependencies in hudi-hadoop-mr-bundle
yihua 324c1ab
Shade dependencies in other bundles
yihua f9de883
Fix bundle shading
yihua 4751986
Fix hbase shading
yihua d8a8b4f
Fix hudi-integ-test-bundle
yihua cf882fb
Fix rebase issue
yihua a9f41b2
Add hbase-site to skip version check
yihua feb4cb4
Add hbase-site.xml to hudi-common
yihua 6e0909f
Update presto setup in docker demo
yihua 6f81ee7
Some cleanup in docker setup
yihua 2c8ad78
Simplify dependency changes
yihua 756d26a
Trim bundle dependencies
yihua 8980f84
Make adjustment to bundles
yihua 4ecc97f
Change kafka-connect-bundle and timeline-server-bundle
yihua ea9eabe
Adjust hudi-integ-test-bundle
yihua 2cf29a5
Improve HFile code logic
yihua 7de5986
Restructure tests for HoodieFileReader and FoodieFileWriter and add m…
yihua 61a7ecf
Add more HFile reader tests
yihua 27ea17a
Improve TestInLineFileSystemHFileInLining
yihua 07a5a46
Address comments
yihua 2956986
Add hfile fixture and compatibility tests
yihua 5327266
Add HFile compatibility tests
yihua 2b2bd08
Exclude org.apache.hadoop.hbase.KeyValue.KeyComparator from shading f…
yihua c916edb
Improve docs
yihua 0733dcc
Address minor comments
yihua File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are these backwards and forward compatible . i.e KVComparator is written into the HFile footer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Per discussion. there is a potential issue of 0.11 queries not being able to read 0.9 tables, because the
org.apache.hadoop.hbase.KeyValue.KVComparatorclass is written into HFile 1.x (0.9 table) and since we now shade hbase in 0.11 asorg.apache.hudi.org.apache.hadoop.hbase.KeyValue.KVComparator.If we ship the
KVComparatorclass along with our jar, then we will be good.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it can just extend
CellComparatorImplThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, I took another approach here. In HBase, there is already backward compatibility to transform the old comparator. When we package the Hudi bundles, we need to make sure that
org.apache.hadoop.hbase.KeyValue$KeyComparator(written to the metadata table HFiles in Hudi 0.9.0) is not shaded, not to break the backward compatibility logic in HBase. The new rule is added for this. More details can be found in the PR description.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this way, we don't need to ship our own comparator in
org.apache.hadoop.hbaseand exclude that from shading.