[
https://issues.apache.org/jira/browse/HADOOP-16925?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Steve Loughran reassigned HADOOP-16925:
---------------------------------------
Assignee: Jiayi Liu
> MetricsConfig incorrectly loads the configuration whose value is String list
> in the properties file
> ---------------------------------------------------------------------------------------------------
>
> Key: HADOOP-16925
> URL: https://issues.apache.org/jira/browse/HADOOP-16925
> Project: Hadoop Common
> Issue Type: Bug
> Components: metrics
> Affects Versions: 3.1.3
> Reporter: Jiayi Liu
> Assignee: Jiayi Liu
> Priority: Major
> Fix For: 3.2.2, 3.3.1
>
> Attachments: HADOOP-16925.001.patch, HADOOP-16925.002.patch
>
>
> [HADOOP-15549|https://jira.apache.org/jira/browse/HADOOP-15549] modified
> loadFirst function in MetricsConfig, and forget to set the DelimiterHandler,
> which caused that when loading the properties file, if the configured value
> is a String List, the value will not be loaded as a String Array, but just a
> String. For example, if we set
> {code:java}
> *.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40
> {code}
> in hadoop-metrics2.properties. If we use
> conf.getStringArray("*.sink.ganglia.dmax") to get the value list, we will get
> an array with single element, the content of which is
> "jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40", which wil cause
> an error during loadGangliaConf. loadGangliaConf will assume that the value
> of jvm.metrics.threadsBlocked is "70, jvm.metrics.memHeapUsedM", which will
> cause an error "java.lang.NumberFormatException: For input string:
> "70,jvm.metrics.memHeapUsedM".
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]