Jiayi Liu created HADOOP-16925:
----------------------------------

             Summary: 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
         Environment: 
[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".

            Reporter: Jiayi Liu






--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-dev-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-dev-h...@hadoop.apache.org

Reply via email to