-
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-11664: Remove HDFS Binaries/Jars Dependency From Yarn #6631
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Note: All the Spotbug error seems unrelated. |
-1. Please do not change the following
Can we use ClusterStorageCapacityExceededException (hadoop-common) instead of DSQuotaExceededException/QuotaExceededException (hadoop-hdfs) in YARN source code? IOStreamPair.java is |
ClusterStorageCapacityExceededException is a parent exception of DSQuotaExceededException and hence catching it will serve the purpose as well. I will raise a revision of this change. |
This comment was marked as outdated.
This comment was marked as outdated.
5c7c9fd
to
c0b5143
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
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.
looks ok to me, but hdfs mail list should be invited to comment.
made some minor suggestions
|
||
import java.io.Closeable; | ||
import java.io.IOException; | ||
import java.io.InputStream; | ||
import java.io.OutputStream; | ||
|
||
import org.apache.hadoop.classification.InterfaceAudience; | ||
import org.apache.hadoop.io.IOUtils; | ||
|
||
/** | ||
* A little struct class to wrap an InputStream and an OutputStream. |
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.
add that they both get closed in the close
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.
ack
/** | ||
* This class contains constants for configuration keys and default values. | ||
*/ | ||
public final class Constants { |
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.
not in this package. should go somewhere under filesystem, maybe a class like
org.apache.hadoop.fs.HdfsCommonConstants
for all hdfs related constants which need to go into hadoop-common
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.
ack
*/ | ||
public final class Constants { | ||
|
||
public static final Text HDFS_DELEGATION_KIND = |
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.
javadocs with {@value} entries here and below
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.
ack
I have send an email to hdfs mailing list asking their opinion as well. |
This comment was marked as outdated.
This comment was marked as outdated.
waiting to see what hdfs people say; mentioned internally. now, there is a way to do this with a smaller diff, specifically, move the IOPair class into hadoop common but keep with the same package name. something to seriously consider. would reduce the risk of any code elsewhere making explicit use of the class then breaking. |
That is a great suggestion. It will help to reduce the diff. @steveloughran - i have incoporated that change as well in the new revision. I have not heard from HDFS community so far. I suppose "no news is good news". |
This comment was marked as outdated.
This comment was marked as outdated.
please, avoid force push unless things are completely unreconcilable or nobody has reviewed yet. It really makes reviewing harder, which discourages people from reviewing. |
It make sense. I will keep this in mind next time. Sorry for the mess. |
This comment was marked as outdated.
This comment was marked as outdated.
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.
spotbugs failure is unrelated; the returning null is the same as now.
javadocs does need a fix
[ERROR] /home/jenkins/jenkins-home/workspace/hadoop-multibranch_PR-6631/ubuntu-focal/src/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/security/token/delegation/DelegationTokenIdentifier.java:46: error: reference not found
[ERROR] * The value is referenced from {@link HdfsCommonConstants.HDFS_DELEGATION_KIND}.
[ERROR]
@steveloughran - Addressed the javadoc issue. |
This comment was marked as outdated.
This comment was marked as outdated.
@steveloughran - Can you please take a look ? The unit test failures are flaky and unrelated. Those failing tests are passing on local. |
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.
-1.
[ERROR] /home/jenkins/jenkins-home/workspace/hadoop-multibranch_PR-6631/ubuntu-focal/src/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java:386: error: reference not found
[ERROR] * The value is referenced from {@link HdfsCommonConstants.DFS_ADMIN}.
@@ -381,7 +382,11 @@ public class DFSConfigKeys extends CommonConfigurationKeys { | |||
|
|||
public static final String DFS_NAMENODE_XATTRS_ENABLED_KEY = "dfs.namenode.xattrs.enabled"; | |||
public static final boolean DFS_NAMENODE_XATTRS_ENABLED_DEFAULT = true; | |||
public static final String DFS_ADMIN = "dfs.cluster.administrators"; | |||
/** | |||
* The value is referenced from {@link HdfsCommonConstants.DFS_ADMIN}. |
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.
needs to have a # to refer to field/method. Surprised your IDE didn't flag this
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.
ack
keep going, we are close. but don't request a review from me until javadoc is fixed |
💔 -1 overall
This message was automatically generated. |
aa5f5ae
to
ddd4f86
Compare
💔 -1 overall
This message was automatically generated. |
@steveloughran - Javadoc is fixed. UT failures, Spotbugs and asf seems unrelated. |
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.
+1, thank you @shameersss1 @steveloughran
merged to trunk; will take a PR to branch-3.4 |
I think this is triggering a regression in enforcer
I'm going to revert the PR and we'll have to move that IOStreamPair class to a new package after all. pity |
yes, reverting fixes this. |
Sure, @steveloughran - Instead of moving IOStreamPair to a new package , Can we ignore this specific |
removing the package-info class would be the simpler solution, but we need to understand how the regression got in. your PR seemed to take, but everything after it broke. |
To support YARN deployments in clusters without HDFS some changes have been made in packaging * new hadoop-common class org.apache.hadoop.fs.HdfsCommonConstants * hdfs class org.apache.hadoop.hdfs.protocol.datatransfer.IOStreamPair moved from hdfs-client to hadoop-common * YARN handlers for DSQuotaExceededException replaced by use of superclass ClusterStorageCapacityExceededException. Contributed by Syed Shameerur Rahman
…pache#6631)" This reverts commit 6c01490.
To support YARN deployments in clusters without HDFS some changes have been made in packaging * new hadoop-common class org.apache.hadoop.fs.HdfsCommonConstants * hdfs class org.apache.hadoop.hdfs.protocol.datatransfer.IOStreamPair moved from hdfs-client to hadoop-common * YARN handlers for DSQuotaExceededException replaced by use of superclass ClusterStorageCapacityExceededException. Contributed by Syed Shameerur Rahman
…pache#6631)" This reverts commit 6c01490.
Description of PR
Remove HDFS Binaries/Jars Dependency From Yarn. Refer YARN-11664 for more details
How was this patch tested?
Manual Verification
For code changes:
LICENSE
,LICENSE-binary
,NOTICE-binary
files?