Details
-
Sub-task
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.6.0
-
None
-
None
Description
When executing manual failover with automatic failover enabled, UnsupportedOperationException is thrown.
# yarn rmadmin -failover rm1 rm2
Exception in thread "main" java.lang.UnsupportedOperationException: RMHAServiceTarget doesn't have a corresponding ZKFC address
at org.apache.hadoop.yarn.client.RMHAServiceTarget.getZKFCAddress(RMHAServiceTarget.java:51)
at org.apache.hadoop.ha.HAServiceTarget.getZKFCProxy(HAServiceTarget.java:94)
at org.apache.hadoop.ha.HAAdmin.gracefulFailoverThroughZKFCs(HAAdmin.java:311)
at org.apache.hadoop.ha.HAAdmin.failover(HAAdmin.java:282)
at org.apache.hadoop.ha.HAAdmin.runCmd(HAAdmin.java:449)
at org.apache.hadoop.ha.HAAdmin.run(HAAdmin.java:378)
at org.apache.hadoop.yarn.client.cli.RMAdminCLI.run(RMAdminCLI.java:482)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
at org.apache.hadoop.yarn.client.cli.RMAdminCLI.main(RMAdminCLI.java:622)
I'm thinking the above message is confusing to users. (Users may think whether ZKFC is configured correctly...) The command should output error message to stderr instead of throwing Exception.