Author: tucu
Date: Thu Mar 22 16:46:48 2012
New Revision: 1303884
URL: http://svn.apache.org/viewvc?rev=1303884&view=rev
Log:
HADOOP-8197. Configuration logs WARNs on every use of a deprecated key (tucu)
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=1303884&r1=1303883&r2=1303884&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
(original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Thu Mar
22 16:46:48 2012
@@ -260,6 +260,8 @@ Release 0.23.3 - UNRELEASED
HADOOP-8157. Fix race condition in Configuration that could cause spurious
ClassNotFoundExceptions after a GC. (todd)
+ HADOOP-8197. Configuration logs WARNs on every use of a deprecated key
(tucu)
+
BREAKDOWN OF HADOOP-7454 SUBTASKS
HADOOP-7455. HA: Introduce HA Service Protocol Interface. (suresh)
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=1303884&r1=1303883&r2=1303884&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
Thu Mar 22 16:46:48 2012
@@ -347,9 +347,7 @@ public class Configuration implements It
private String handleDeprecation(String name) {
if (isDeprecated(name)) {
DeprecatedKeyInfo keyInfo = deprecatedKeyMap.get(name);
- if (!keyInfo.accessed) {
- LOG.warn(keyInfo.getWarningMessage(name));
- }
+ warnOnceIfDeprecated(name);
for (String newKey : keyInfo.newKeys) {
if(newKey != null) {
name = newKey;
@@ -362,11 +360,6 @@ public class Configuration implements It
getOverlay().containsKey(deprecatedKey)) {
getProps().setProperty(name, getOverlay().getProperty(deprecatedKey));
getOverlay().setProperty(name, getOverlay().getProperty(deprecatedKey));
-
- DeprecatedKeyInfo keyInfo = deprecatedKeyMap.get(deprecatedKey);
- if (!keyInfo.accessed) {
- LOG.warn(keyInfo.getWarningMessage(deprecatedKey));
- }
}
return name;
}
@@ -662,12 +655,16 @@ public class Configuration implements It
getOverlay().setProperty(altName, value);
getProps().setProperty(altName, value);
}
- if (isDeprecated(name)) {
- DeprecatedKeyInfo keyInfo = deprecatedKeyMap.get(name);
+ warnOnceIfDeprecated(name);
+ }
+
+ private void warnOnceIfDeprecated(String name) {
+ DeprecatedKeyInfo keyInfo = deprecatedKeyMap.get(name);
+ if (keyInfo != null && !keyInfo.accessed) {
LOG.warn(keyInfo.getWarningMessage(name));
}
}
-
+
/**
* Unset a previously set property.
*/
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=1303884&r1=1303883&r2=1303884&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
Thu Mar 22 16:46:48 2012
@@ -31,6 +31,7 @@ public class TestDeprecatedKeys extends
public void testDeprecatedKeys() throws Exception {
Configuration conf = new Configuration();
conf.set("topology.script.file.name", "xyz");
+ conf.set("topology.script.file.name", "xyz");
String scriptFile =
conf.get(CommonConfigurationKeys.NET_TOPOLOGY_SCRIPT_FILE_NAME_KEY);
assertTrue(scriptFile.equals("xyz")) ;
}