ConfX created HDFS-17449:
----------------------------
Summary: Ill-formed decommission host name and port pair would
trigger IndexOutOfBound error
Key: HDFS-17449
URL: https://issues.apache.org/jira/browse/HDFS-17449
Project: Hadoop HDFS
Issue Type: Bug
Reporter: ConfX
h2. What happened:
Got IndexOutOfBound when trying to run
org.apache.hadoop.hdfs.server.namenode.TestDecommissioningStatusWithBackoffMonitor#testDecommissionStatusAfterDNRestart
with namenode host provider set to
org.apache.hadoop.hdfs.server.blockmanagement.CombinedHostFileManager.
h2. Buggy code:
In HostsFileWriter.java:
{code:java}
String[] hostAndPort = hostNameAndPort.split(":"); // hostNameAndPort might be
invalid
dn.setHostName(hostAndPort[0]);
dn.setPort(Integer.parseInt(hostAndPort[1])); // here IndexOutOfBound might be
thrown
dn.setAdminState(AdminStates.DECOMMISSIONED);{code}
h2. StackTrace:
{code:java}
java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at
org.apache.hadoop.hdfs.util.HostsFileWriter.initOutOfServiceHosts(HostsFileWriter.java:110){code}
h2. How to reproduce:
(1) Set {{dfs.namenode.hosts.provider.classname}} to
{{org.apache.hadoop.hdfs.server.blockmanagement.CombinedHostFileManager}}
(2) Run test:
{{org.apache.hadoop.hdfs.server.namenode.TestDecommissioningStatusWithBackoffMonitor#testDecommissionStatusAfterDNRestart}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]