-
Notifications
You must be signed in to change notification settings - Fork 8.9k
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
YARN-11047. ResourceManager and NodeManager unable to connect to Hbase when ATSv2 is enabled #3802
Conversation
…e when ATSv2 is enabled
Thanks @virajjasani for the quick fix. |
Thank you for confirming on Windows OS @minni31 FYI @jojochuang @aajisaka |
💔 -1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
Javadoc warnings are not relevant to the PR changes and can be taken up in a separate Jira. |
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 I believe it was broken by HADOOP-17452 and so my only question is why didn't our UT catch the issue and if we need extra tests.
<dependency> | ||
<groupId>com.google.inject</groupId> | ||
<artifactId>guice</artifactId> | ||
<version>${hbase-compatible-guice.version}</version> |
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.
prior to this change, the module depends on guice version 4.2.3.
Guice was updated to 4.2.3 by HADOOP-17452.
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.
Correct, NodeManager and ResourceManager need to use guice that is compatible with hbase-compatible guava, hence this is one heck of a complex dependency chain.
I will also post my testing results for ATSv2 in 3.3.2 RC as well in a couple of days.
I agree, we need more tests in yarn-nodemanager and yarn-resourcemanager modules. For ATSv2, timelineservice-tests module has some tests but the above two modules should also have some tests. On the other hand, hbase 1 profile will most likely not require any more version upgrade and when hbase 3 is rolled out, we can focus on providing better compatibilities and good no of tests to cover new profile (perhaps make it default profile). |
…e when ATSv2 is enabled (apache#3802)
…e when ATSv2 is enabled (apache#3802)
Description of PR
Yarn ResourceManager and NodeManager in the current state are not able to interact with HBase cluster because of the incompatible guava and guice dependencies being used in the classpath.
Once we allow RM and NM to use Timeline service specific guava version, it fails due to incompatibilities b/ guava and guice versions because hbase compatible guava is not guice compatible guava for Yarn:
Hence, we need to keep both guice and guava compatible with each other and ensure guava is also compatible with HBase.
Changes on this PR would allow Yarn to use guice and guava versions compatible with HBase and not the ones being derived from hadoop-project.
How was this patch tested?
Tested locally. Triggered MapReduce sample WordCount job. No issues encountered with RM and NM.
Data is also flowing from Yarn to HBase tables:
For code changes: