-
Notifications
You must be signed in to change notification settings - Fork 2.5k
[HUDI-4382] Add logger for HoodieCopyOnWriteTableInputFormat #6081
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
KnightChess
left a comment
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.
I have a quesion, if don't have FileINputFormat class, maybe it will cause ClassNotFound when load this class?
Right. During the presto query, it would throw something like: |
|
@hudi-bot run azure |
|
@hudi-bot run azure |
1 similar comment
|
@hudi-bot run azure |
5b7c757 to
1febc08
Compare
1febc08 to
35124ac
Compare
|
Merged in #6161. |
Tips
What is the purpose of the pull request
This PR aims to fix Hudi Presto query failures. The reason we saw java.lang.NoSuchFieldError: LOG during the presto query is because in this HoodieCopyOnWriteTableInputFormat class, it inherits field LOG from its parent class FileInputFormat which is a class from Hadoop.
So my understanding is in the compile time, it would reference this field from FileInputFormat.class. However, in the runtime, the presto doesn't have all the Hadoop classes in its classpath, what Presto uses is its own Hadoop dependency e.g. hadoop-apache2:jar:2.7.4-9. I checked that hadoop-apache2 does not have class FileInputFormat shaded which causes this runtime error.
Brief change log
(for example:)
Verify this pull request
This pull request is a trivial rework / code cleanup without any test coverage.
Committer checklist
Has a corresponding JIRA in PR title & commit
Commit message is descriptive of the change
CI is green
Necessary doc changes done or have another open PR
For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.