소스 검색

HDDS-1882. TestReplicationManager failed with NPE. (#1197)

(cherry picked from commit e111789aeb005c76e443c96418cd9fddf9bdb8a2)
Sammi Chen 5 년 전
부모
커밋
bb7ce03cc0
1개의 변경된 파일5개의 추가작업 그리고 2개의 파일을 삭제
  1. 5 2
      hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/ReplicationManager.java

+ 5 - 2
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/ReplicationManager.java

@@ -486,8 +486,11 @@ public class ReplicationManager {
         final List<DatanodeDetails> excludeList = replicas.stream()
             .map(ContainerReplica::getDatanodeDetails)
             .collect(Collectors.toList());
-        inflightReplication.get(id).stream().map(r -> r.datanode)
-            .forEach(excludeList::add);
+        List<InflightAction> actionList = inflightReplication.get(id);
+        if (actionList != null) {
+          actionList.stream().map(r -> r.datanode)
+              .forEach(excludeList::add);
+        }
         final List<DatanodeDetails> selectedDatanodes = containerPlacement
             .chooseDatanodes(excludeList, null, delta,
                 container.getUsedBytes());