소스 검색

HDFS-17449. Fix ill-formed decommission host name and port pair triggers IndexOutOfBound error (#6691). Contributed by ConfX

Signed-off-by: Ayush Saxena <ayushsaxena@apache.org>
ConfX 1 년 전
부모
커밋
73e6931ed0
1개의 변경된 파일4개의 추가작업 그리고 0개의 파일을 삭제
  1. 4 0
      hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/util/HostsFileWriter.java

+ 4 - 0
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/util/HostsFileWriter.java

@@ -106,6 +106,10 @@ public class HostsFileWriter {
         for (String hostNameAndPort : decommissionHostNameAndPorts) {
           DatanodeAdminProperties dn = new DatanodeAdminProperties();
           String[] hostAndPort = hostNameAndPort.split(":");
+          if (hostAndPort.length != 2) {
+            throw new IllegalArgumentException("The decommision host name and port format is "
+                + "invalid. The format should be in <host>:<port>, not " + hostNameAndPort);
+          }
           dn.setHostName(hostAndPort[0]);
           dn.setPort(Integer.parseInt(hostAndPort[1]));
           dn.setAdminState(AdminStates.DECOMMISSIONED);