You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ma...@apache.org on 2012/01/27 04:42:36 UTC
svn commit: r1236506 - in
/hadoop/common/trunk/hadoop-common-project/hadoop-common: CHANGES.txt
src/main/java/org/apache/hadoop/conf/Configuration.java
src/test/java/org/apache/hadoop/conf/TestDeprecatedKeys.java
Author: mahadev
Date: Fri Jan 27 03:42:36 2012
New Revision: 1236506
URL: http://svn.apache.org/viewvc?rev=1236506&view=rev
Log:
HADOOP-7993. Hadoop ignores old-style config options for enabling compressed output. (Anupam Seth via mahadev)
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestDeprecatedKeys.java
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1236506&r1=1236505&r2=1236506&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Fri Jan 27 03:42:36 2012
@@ -295,6 +295,9 @@ Release 0.23.1 - Unreleased
HADOOP-7997. SequenceFile.createWriter(...createParent...) no
longer works on existing file. (Gregory Chanan via eli)
+ HADOOP-7993. Hadoop ignores old-style config options for enabling compressed
+ output. (Anupam Seth via mahadev)
+
Release 0.23.0 - 2011-11-01
INCOMPATIBLE CHANGES
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java?rev=1236506&r1=1236505&r2=1236506&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java (original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java Fri Jan 27 03:42:36 2012
@@ -345,7 +345,17 @@ public class Configuration implements It
}
return name;
}
-
+
+ private void handleDeprecation() {
+ LOG.debug("Handling deprecation for all properties in config...");
+ Set<Object> keys = new HashSet<Object>();
+ keys.addAll(getProps().keySet());
+ for (Object item: keys) {
+ LOG.debug("Handling deprecation for " + (String)item);
+ handleDeprecation((String)item);
+ }
+ }
+
static{
//print deprecation warning if hadoop-site.xml is found in classpath
ClassLoader cL = Thread.currentThread().getContextClassLoader();
@@ -1667,7 +1677,7 @@ public class Configuration implements It
Element conf = doc.createElement("configuration");
doc.appendChild(conf);
conf.appendChild(doc.createTextNode("\n"));
- getProps(); // ensure properties is set
+ handleDeprecation(); //ensure properties is set and deprecation is handled
for (Enumeration e = properties.keys(); e.hasMoreElements();) {
String name = (String)e.nextElement();
Object object = properties.get(name);
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestDeprecatedKeys.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestDeprecatedKeys.java?rev=1236506&r1=1236505&r2=1236506&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestDeprecatedKeys.java (original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestDeprecatedKeys.java Fri Jan 27 03:42:36 2012
@@ -18,6 +18,8 @@
package org.apache.hadoop.conf;
+import java.io.ByteArrayOutputStream;
+
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.CommonConfigurationKeys;
@@ -32,4 +34,22 @@ public class TestDeprecatedKeys extends
String scriptFile = conf.get(CommonConfigurationKeys.NET_TOPOLOGY_SCRIPT_FILE_NAME_KEY);
assertTrue(scriptFile.equals("xyz")) ;
}
+
+ //Tests reading / writing a conf file with deprecation after setting
+ public void testReadWriteWithDeprecatedKeys() throws Exception {
+ Configuration conf = new Configuration();
+ conf.setBoolean("old.config.yet.to.be.deprecated", true);
+ Configuration.addDeprecation("old.config.yet.to.be.deprecated",
+ new String[]{"new.conf.to.replace.deprecated.conf"});
+ ByteArrayOutputStream out=new ByteArrayOutputStream();
+ String fileContents;
+ try {
+ conf.writeXml(out);
+ fileContents = out.toString();
+ } finally {
+ out.close();
+ }
+ assertTrue(fileContents.contains("old.config.yet.to.be.deprecated"));
+ assertTrue(fileContents.contains("new.conf.to.replace.deprecated.conf"));
+ }
}