[ https://issues.apache.org/jira/browse/YARN-1305?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13796927#comment-13796927 ]
Tsuyoshi OZAWA commented on YARN-1305: -------------------------------------- Thank you for review, Bikas. I got this bug when both yarn.resourcemanager.ha.enabled and yarn.resourcemanager.ha.id are set but HAUtil.RPC_ADDRESS_CONF_KEYS with RM id are empty like this: https://gist.github.com/oza/6982570. We should set default values of HAUtil.RPC_ADDRESS_CONF_KEYS in getConfValueForRMInstance(). {code} private static String getConfValueForRMInstance(String prefix, Configuration conf, String defaultValue) { String confKey = getConfKeyForRMInstance(prefix, conf); String retVal = conf.get(confKey, defaultValue); .... return retVal; } {code} > Can we make the error message more generic? We can do it with Exception#getMessage(). {code} if (confKey == null) { errmsg = iae.getMessage(); } ... throwBadConfigurationException(errmsg); {code} > Why do we need to log the current conf value in the error? As you indicated, confValue must be null in this code path, so we don't need to log confValue. I'll remove it from logging. > RMHAProtocolService#serviceInit should handle HAUtil's > IllegalArgumentException > ------------------------------------------------------------------------------- > > Key: YARN-1305 > URL: https://issues.apache.org/jira/browse/YARN-1305 > Project: Hadoop YARN > Issue Type: Sub-task > Components: resourcemanager > Affects Versions: 2.2.1 > Reporter: Tsuyoshi OZAWA > Assignee: Tsuyoshi OZAWA > Labels: ha > Attachments: YARN-1305.1.patch, YARN-1305.2.patch > > > When yarn.resourcemanager.ha.enabled is true, RMHAProtocolService#serviceInit > calls HAUtil.setAllRpcAddresses. If the configuration values are null, it > just throws IllegalArgumentException. > It's messy to analyse which keys are null, so we should handle it and log the > name of keys which are null. > A current log dump is as follows: > {code} > 2013-10-15 06:24:53,431 INFO > org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: registered > UNIX signal handlers for [TERM, HUP, INT] > 2013-10-15 06:24:54,203 INFO org.apache.hadoop.service.AbstractService: > Service RMHAProtocolService failed in state INITED; cause: > java.lang.IllegalArgumentException: Property value must not be null > java.lang.IllegalArgumentException: Property value must not be null > at > com.google.common.base.Preconditions.checkArgument(Preconditions.java:88) > at org.apache.hadoop.conf.Configuration.set(Configuration.java:816) > at org.apache.hadoop.conf.Configuration.set(Configuration.java:798) > at org.apache.hadoop.yarn.conf.HAUtil.setConfValue(HAUtil.java:100) > at > org.apache.hadoop.yarn.conf.HAUtil.setAllRpcAddresses(HAUtil.java:105) > at > org.apache.hadoop.yarn.server.resourcemanager.RMHAProtocolService.serviceInit(RMHAProtocolService.java:60) > at > org.apache.hadoop.service.AbstractService.init(AbstractService.java:163) > at > org.apache.hadoop.service.CompositeService.serviceInit(CompositeService.java:108) > at > org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.serviceInit(ResourceManager.java:187) > at > org.apache.hadoop.service.AbstractService.init(AbstractService.java:163) > at > org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.main(ResourceManager.java:940) > {code} -- This message was sent by Atlassian JIRA (v6.1#6144)