From 1f21be2d024de724990a0b5737c0c65c6e59d7f3 Mon Sep 17 00:00:00 2001 From: Todd Lipcon Date: Tue, 5 Feb 2019 19:56:04 +0000 Subject: [PATCH] HADOOP-15549. Upgrade to commons-configuration 2.1 regresses task CPU consumption. Contributed by Todd Lipcon. --- .../hadoop/metrics2/impl/MetricsConfig.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsConfig.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsConfig.java index ac4a24eb3bb..39cea6948e1 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsConfig.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsConfig.java @@ -37,10 +37,8 @@ import com.google.common.collect.Maps; import org.apache.commons.configuration2.Configuration; import org.apache.commons.configuration2.PropertiesConfiguration; import org.apache.commons.configuration2.SubsetConfiguration; -import org.apache.commons.configuration2.builder.fluent.Configurations; -import org.apache.commons.configuration2.builder.fluent.Parameters; -import org.apache.commons.configuration2.convert.DefaultListDelimiterHandler; import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.io.FileHandler; import org.apache.hadoop.metrics2.MetricsFilter; import org.apache.hadoop.metrics2.MetricsPlugin; import org.apache.hadoop.metrics2.filter.GlobFilter; @@ -112,12 +110,11 @@ class MetricsConfig extends SubsetConfiguration { static MetricsConfig loadFirst(String prefix, String... fileNames) { for (String fname : fileNames) { try { - Configuration cf = new Configurations().propertiesBuilder(fname) - .configure(new Parameters().properties() - .setFileName(fname) - .setListDelimiterHandler(new DefaultListDelimiterHandler(','))) - .getConfiguration() - .interpolatedConfiguration(); + PropertiesConfiguration pcf = new PropertiesConfiguration(); + FileHandler fh = new FileHandler(pcf); + fh.setFileName(fname); + fh.load(); + Configuration cf = pcf.interpolatedConfiguration(); LOG.info("loaded properties from "+ fname); LOG.debug(toString(cf)); MetricsConfig mc = new MetricsConfig(cf, prefix);