Repository: hadoop
Updated Branches:
  refs/heads/branch-3.2 21553e22b -> b6698e2a8


HDFS-13962. Add null check for add-replica pool to avoid lock acquiring. 
Contributed by Surendra Singh Lilhore.

(cherry picked from commit 1043795f7fe44c98a34f8ea3cea708c801c3043b)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b6698e2a
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b6698e2a
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b6698e2a

Branch: refs/heads/branch-3.2
Commit: b6698e2a828a652e995d4cfe83d8fcd095fdeee2
Parents: 21553e2
Author: Yiqun Lin <yq...@apache.org>
Authored: Tue Oct 9 10:33:13 2018 +0800
Committer: Yiqun Lin <yq...@apache.org>
Committed: Tue Oct 9 10:35:08 2018 +0800

----------------------------------------------------------------------
 .../hdfs/server/datanode/fsdataset/impl/BlockPoolSlice.java    | 6 ++++--
 .../hadoop/hdfs/server/datanode/fsdataset/impl/ReplicaMap.java | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/b6698e2a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/BlockPoolSlice.java
----------------------------------------------------------------------
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/BlockPoolSlice.java
 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/BlockPoolSlice.java
index b9b581f..4a4fef9 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/BlockPoolSlice.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/BlockPoolSlice.java
@@ -183,8 +183,10 @@ class BlockPoolSlice {
                                                      .setConf(conf)
                                                      
.setInitialUsed(loadDfsUsed())
                                                      .build();
-    // initialize add replica fork join pool
-    initializeAddReplicaPool(conf);
+    if (addReplicaThreadPool == null) {
+      // initialize add replica fork join pool
+      initializeAddReplicaPool(conf);
+    }
     // Make the dfs usage to be saved during shutdown.
     shutdownHook = new Runnable() {
       @Override

http://git-wip-us.apache.org/repos/asf/hadoop/blob/b6698e2a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/ReplicaMap.java
----------------------------------------------------------------------
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/ReplicaMap.java
 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/ReplicaMap.java
index c630b95..73d3c60 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/ReplicaMap.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/ReplicaMap.java
@@ -154,7 +154,7 @@ class ReplicaMap {
       if (oldReplicaInfo != null) {
         return oldReplicaInfo;
       } else {
-        set.add(replicaInfo);
+        set.addOrReplace(replicaInfo);
       }
       return replicaInfo;
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-commits-h...@hadoop.apache.org

Reply via email to