HADOOP-15549. Upgrade to commons-configuration 2.1 regresses task CPU consumption

This commit is contained in:
Todd Lipcon 2018-06-21 10:32:52 -07:00
parent 9f15483c5d
commit 59de967954

View File

@ -37,10 +37,8 @@
import org.apache.commons.configuration2.Configuration; import org.apache.commons.configuration2.Configuration;
import org.apache.commons.configuration2.PropertiesConfiguration; import org.apache.commons.configuration2.PropertiesConfiguration;
import org.apache.commons.configuration2.SubsetConfiguration; 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.ex.ConfigurationException;
import org.apache.commons.configuration2.io.FileHandler;
import org.apache.hadoop.metrics2.MetricsFilter; import org.apache.hadoop.metrics2.MetricsFilter;
import org.apache.hadoop.metrics2.MetricsPlugin; import org.apache.hadoop.metrics2.MetricsPlugin;
import org.apache.hadoop.metrics2.filter.GlobFilter; import org.apache.hadoop.metrics2.filter.GlobFilter;
@ -112,12 +110,11 @@ static MetricsConfig create(String prefix, String... fileNames) {
static MetricsConfig loadFirst(String prefix, String... fileNames) { static MetricsConfig loadFirst(String prefix, String... fileNames) {
for (String fname : fileNames) { for (String fname : fileNames) {
try { try {
Configuration cf = new Configurations().propertiesBuilder(fname) PropertiesConfiguration pcf = new PropertiesConfiguration();
.configure(new Parameters().properties() FileHandler fh = new FileHandler(pcf);
.setFileName(fname) fh.setFileName(fname);
.setListDelimiterHandler(new DefaultListDelimiterHandler(','))) fh.load();
.getConfiguration() Configuration cf = pcf.interpolatedConfiguration();
.interpolatedConfiguration();
LOG.info("Loaded properties from {}", fname); LOG.info("Loaded properties from {}", fname);
if (LOG.isDebugEnabled()) { if (LOG.isDebugEnabled()) {
LOG.debug("Properties: {}", toString(cf)); LOG.debug("Properties: {}", toString(cf));