Description
There is an off-by-one issue in RMAdminCLI.java (line 457):
port = Integer.valueOf(nodeIdStr.substring(nodeIdStr.indexOf(":")));
should probably be:
port = Integer.valueOf(nodeIdStr.substring(nodeIdStr.indexOf(":")+1));
Currently attempting to add a label to a node with a port specified looks like this:
[yarn@ip-10-0-0-66 ~]$ yarn rmadmin -replaceLabelsOnNode node.example.com:45454,test-label
replaceLabelsOnNode: For input string: ":45454"
Usage: yarn rmadmin [-replaceLabelsOnNode [node1:port,label1,label2 node2:port,label1,label2]]
It appears to be trying to parse the ':' as part of the integer because the substring index is off.