-
Notifications
You must be signed in to change notification settings - Fork 4.8k
HIVE-27273: Iceberg: Upgrade iceberg to 1.2.1 #4252
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
|
Why is this test failed? I don't see any relation to this commit. Needs to retrigger? |
|
Actually it could have relation of the PR: Client Execution succeeded but contained differences (error code = 1) after executing describe_iceberg_metadata_tables.q java.lang.AssertionError: |
@TuroczyX I am fixing it. :) |
|
@zhangbutao have you checked if we need to migrate some of the changes from iceberg mr package as well? cc @InvisibleProgrammer |
I think it is just a dependency upgrade. |
I think you mean this PR of iceberg In addition, i find several PR from iceberg |
|
Kudos, SonarCloud Quality Gate passed! |
|
I started to play with the porting, let me share some extra information and details: There are two modules that we 'copy' into Hive: When we do a Hive-Iceberg upgrade, it is worth checking if is there anything that should be ported from there as well - or otherwise, we can get unexpected behavior. I was able to narrow down the promising commits to 7: To gather them, I got the git commits between the 1.1.0 and 1.2.1 tags but only for the mr and hive-metastore folders with those commands: As you can see, there are 8 commits but one of them modified both folders. I started to cherry-pick them but I haven't finished with it yet. I'll share the result when I'm finished. @zhangbutao , what do you thing about that? |
|
@InvisibleProgrammer Thanks for sharing your thought! The two commits
I think that is possible. That's great if you can find these valuable old changes. Thanks for your hard work! |
|
@deniskuzZ I am thinking if we can merge PR firstly as i don't want this to block new feature(iceberg branch&tag) integration. In the meantime, @InvisibleProgrammer can continue to port other iceberg commits. |
|
Feel free to do that. The only drawback is that you can miss some catalog-related changes. We did the same approach in the previous upgrade. Anyway, it doesn't block any upgrade as if the catalog changes are not ported, it is not a full upgrade :D |
There is a new commit which could be helpful, because it removes the need to issue a HiveLock on alter table:
|
|
@pvary Great! Thanks a lot! |
|
@pvary , let me reflect on your writings one by one:
That is a pretty cool change. I'm pretty sure it is worth porting. But I'm not sure if we have to port it during the 1.2.1 upgrade. What if I create a ticket to port it after we finish the 1.2.1 upgrade?
That looks trivial, it is easy to port it during this update. Thank your for the context.
That is the tricky and ugly one that concerns me the most: The |
|
@zhangbutao, @InvisibleProgrammer could we please create a backport ticket that includes:
|
|
@deniskuzZ Sure, will create tickets to backport these iceberg commits. I guess @InvisibleProgrammer is woking on that and i am also pleasure to do these stuff if @InvisibleProgrammer need some assistance. |
This is the somewhat evil one, as if the feature is turned on, then it should happen for all of the writers at the same time (there are configs which makes it possible for all of the use-cases we were able to come up during the review rounds).
This is just changes some of the retry mechanism. Hard to backport, but no other risk, definitely no compatibility concerns here. |
…by Peter Vary, Zsolt Miskolczi, Denys Kuzmenko) Closes apache#4252
…by Peter Vary, Zsolt Miskolczi, Denys Kuzmenko) Closes apache#4252








What changes were proposed in this pull request?
Why are the changes needed?
https://iceberg.apache.org/releases/#121-release Iceberg1.2.1(include 1.2.0) has lots of improvement, e.g.
branch commitandposition_deletes metadata table.And delete the patched code
BaseUpdatePartitionSpec.javawhich was added for iceberg1.1.0.Does this PR introduce any user-facing change?
No
How was this patch tested?