-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
[feature](hive)Support read hive4 transaction tables. #44001
base: master
Are you sure you want to change the base?
Conversation
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
clang-tidy review says "All clean, LGTM! 👍" |
7669f81
to
2dec82f
Compare
//Since the hive3 library cannot read the hive4 transaction table normally, and there are many problems | ||
// when using the Hive 4 library directly, this method is implemented. | ||
//Ref: hive/ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java#getAcidState | ||
public static FileCacheValue getAcidState(RemoteFileSystem fileSystem, HivePartition partition, |
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.
aacbf79
to
2a523cf
Compare
clang-tidy review says "All clean, LGTM! 👍" |
1 similar comment
clang-tidy review says "All clean, LGTM! 👍" |
run buildall |
1 similar comment
run buildall |
clang-tidy review says "All clean, LGTM! 👍" |
TeamCity be ut coverage result: |
} else { | ||
throw new RuntimeException(status.getErrMsg()); | ||
} | ||
fileCacheValues.add(AcidUtil.getAcidState( |
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.
also need ugi.doAs
} catch (Exception e) { | ||
// Release shared load (getValidWriteIds acquire Lock). | ||
// If no exception is throw, the lock will be released when `finalizeQuery()`. | ||
Env.getCurrentHiveTransactionMgr().deregister(hiveTransaction.getQueryId()); |
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 is not a good design to deregister
transaction here.
Looks like it is very error prone
run buildall |
clang-tidy review says "All clean, LGTM! 👍" |
TeamCity be ut coverage result: |
PR approved by at least one committer and no changes requested. |
PR approved by anyone and no changes requested. |
run buildall |
TeamCity be ut coverage result: |
TPC-H: Total hot run time: 39528 ms
|
TPC-DS: Total hot run time: 196848 ms
|
### What problem does this PR solve? bp #44001 , but no hive4 acid table. Problem Summary: 1. Fixed the issue that when reading insert translaction only tables, there was no acid check, which caused multiple data reads (i.e., reading data from the previous base_n). 2. Forbidden to create, insert data, and delete aicd tables.
run buildall |
TeamCity be ut coverage result: |
TPC-H: Total hot run time: 32510 ms
|
TPC-DS: Total hot run time: 197590 ms
|
ClickBench: Total hot run time: 31.52 s
|
453bd6a
to
dbf1765
Compare
run buildall |
TPC-H: Total hot run time: 32289 ms
|
TeamCity be ut coverage result: |
TPC-DS: Total hot run time: 197273 ms
|
ClickBench: Total hot run time: 31.11 s
|
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.
LGTM
PR approved by at least one committer and no changes requested. |
What problem does this PR solve?
Problem Summary:
Support read hive4 transaction tables.
Since there are compilation problems when directly using hive4 API to get the file need to read, a function called
ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java#getAcidState
is implemented.At the same time, it is forbidden to create, insert data, and delete aicd tables.
fix
'transactional_properties' = 'insert_only'
table read Incorrect data read.TODO : mege HMSTransaction ,HiveTransaction class
mege HiveTransactionMgr, HiveTransactionManager class
Release note
Support read hive4 transaction tables.
Fixed the problem that the result of reading insert only transaction table in Hive catalog is incorrect.
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)