[2/2] hadoop git commit: HDFS-13772. Erasure coding: Unnecessary NameNode Logs displaying for Enabling/Disabling Erasure coding policies which are already enabled/disabled. Contributed by Ayush Saxena
HDFS-13772. Erasure coding: Unnecessary NameNode Logs displaying for Enabling/Disabling Erasure coding policies which are already enabled/disabled. Contributed by Ayush Saxena (cherry picked from commit 8df2eb8119188b8e5515295523afc23046e1db81) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/76be3515 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/76be3515 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/76be3515 Branch: refs/heads/branch-3.0 Commit: 76be3515bfb926464959b3151ef1b75039a00aab Parents: be2a0a5 Author: Vinayakumar B Authored: Tue Aug 21 09:33:19 2018 +0530 Committer: Xiao Chen Committed: Thu Nov 8 10:22:32 2018 -0800 -- .../namenode/ErasureCodingPolicyManager.java| 15 +++ .../server/namenode/FSDirErasureCodingOp.java | 22 - .../hdfs/server/namenode/FSNamesystem.java | 26 +++- .../hdfs/server/namenode/NameNodeRpcServer.java | 8 +++--- .../server/namenode/TestNamenodeRetryCache.java | 2 +- .../namenode/ha/TestRetryCacheWithHA.java | 2 +- 6 files changed, 47 insertions(+), 28 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/76be3515/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingPolicyManager.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingPolicyManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingPolicyManager.java index 3a310da..e7de05b 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingPolicyManager.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingPolicyManager.java @@ -356,7 +356,7 @@ public final class ErasureCodingPolicyManager { /** * Disable an erasure coding policy by policyName. */ - public synchronized void disablePolicy(String name) { + public synchronized boolean disablePolicy(String name) { ErasureCodingPolicyInfo info = policiesByName.get(name); if (info == null) { throw new HadoopIllegalArgumentException("The policy name " + @@ -367,27 +367,32 @@ public final class ErasureCodingPolicyManager { enabledPoliciesByName.remove(name); enabledPolicies = enabledPoliciesByName.values().toArray(new ErasureCodingPolicy[0]); + info.setState(ErasureCodingPolicyState.DISABLED); + LOG.info("Disable the erasure coding policy " + name); + return true; } -info.setState(ErasureCodingPolicyState.DISABLED); -LOG.info("Disable the erasure coding policy " + name); +return false; } /** * Enable an erasure coding policy by policyName. */ - public synchronized void enablePolicy(String name) { + public synchronized boolean enablePolicy(String name) { final ErasureCodingPolicyInfo info = policiesByName.get(name); if (info == null) { throw new HadoopIllegalArgumentException("The policy name " + name + " does not exist"); } - +if (enabledPoliciesByName.containsKey(name)) { + return false; +} final ErasureCodingPolicy ecPolicy = info.getPolicy(); enabledPoliciesByName.put(name, ecPolicy); info.setState(ErasureCodingPolicyState.ENABLED); enabledPolicies = enabledPoliciesByName.values().toArray(new ErasureCodingPolicy[0]); LOG.info("Enable the erasure coding policy " + name); +return true; } /** http://git-wip-us.apache.org/repos/asf/hadoop/blob/76be3515/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java index 3a32db4..f6a4093 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java @@ -252,11 +252,16 @@ final class FSDirErasureCodingOp { * rebuilding * @throws IOException */ - static void enableErasureCodingPolicy(final FSNamesystem fsn, + static boolean enableErasureCodingPolicy(final FSNamesystem fsn, String ecPolicyName, final boolean logRetryCache) throws IOException { Preconditions.checkNotNull(ecPolicyName); -fsn.getErasureCodingPol
[2/2] hadoop git commit: HDFS-13772. Erasure coding: Unnecessary NameNode Logs displaying for Enabling/Disabling Erasure coding policies which are already enabled/disabled. Contributed by Ayush Saxena
HDFS-13772. Erasure coding: Unnecessary NameNode Logs displaying for Enabling/Disabling Erasure coding policies which are already enabled/disabled. Contributed by Ayush Saxena Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/8df2eb81 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/8df2eb81 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/8df2eb81 Branch: refs/heads/branch-3.1 Commit: 8df2eb8119188b8e5515295523afc23046e1db81 Parents: 95fcdc0 Author: Vinayakumar B Authored: Tue Aug 21 09:33:19 2018 +0530 Committer: Vinayakumar B Committed: Tue Aug 21 09:34:57 2018 +0530 -- .../namenode/ErasureCodingPolicyManager.java| 15 +++ .../server/namenode/FSDirErasureCodingOp.java | 22 - .../hdfs/server/namenode/FSNamesystem.java | 26 +++- .../hdfs/server/namenode/NameNodeRpcServer.java | 8 +++--- .../server/namenode/TestNamenodeRetryCache.java | 2 +- .../namenode/ha/TestRetryCacheWithHA.java | 2 +- 6 files changed, 47 insertions(+), 28 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/8df2eb81/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingPolicyManager.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingPolicyManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingPolicyManager.java index 3a310da..e7de05b 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingPolicyManager.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingPolicyManager.java @@ -356,7 +356,7 @@ public final class ErasureCodingPolicyManager { /** * Disable an erasure coding policy by policyName. */ - public synchronized void disablePolicy(String name) { + public synchronized boolean disablePolicy(String name) { ErasureCodingPolicyInfo info = policiesByName.get(name); if (info == null) { throw new HadoopIllegalArgumentException("The policy name " + @@ -367,27 +367,32 @@ public final class ErasureCodingPolicyManager { enabledPoliciesByName.remove(name); enabledPolicies = enabledPoliciesByName.values().toArray(new ErasureCodingPolicy[0]); + info.setState(ErasureCodingPolicyState.DISABLED); + LOG.info("Disable the erasure coding policy " + name); + return true; } -info.setState(ErasureCodingPolicyState.DISABLED); -LOG.info("Disable the erasure coding policy " + name); +return false; } /** * Enable an erasure coding policy by policyName. */ - public synchronized void enablePolicy(String name) { + public synchronized boolean enablePolicy(String name) { final ErasureCodingPolicyInfo info = policiesByName.get(name); if (info == null) { throw new HadoopIllegalArgumentException("The policy name " + name + " does not exist"); } - +if (enabledPoliciesByName.containsKey(name)) { + return false; +} final ErasureCodingPolicy ecPolicy = info.getPolicy(); enabledPoliciesByName.put(name, ecPolicy); info.setState(ErasureCodingPolicyState.ENABLED); enabledPolicies = enabledPoliciesByName.values().toArray(new ErasureCodingPolicy[0]); LOG.info("Enable the erasure coding policy " + name); +return true; } /** http://git-wip-us.apache.org/repos/asf/hadoop/blob/8df2eb81/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java index 3a32db4..f6a4093 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java @@ -252,11 +252,16 @@ final class FSDirErasureCodingOp { * rebuilding * @throws IOException */ - static void enableErasureCodingPolicy(final FSNamesystem fsn, + static boolean enableErasureCodingPolicy(final FSNamesystem fsn, String ecPolicyName, final boolean logRetryCache) throws IOException { Preconditions.checkNotNull(ecPolicyName); -fsn.getErasureCodingPolicyManager().enablePolicy(ecPolicyName); -fsn.getEditLog().lo