[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

2018-11-08 Thread xiao
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

2018-08-20 Thread vinayakumarb
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