Преглед на файлове

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);