svn merge -c 1301551 from trunk to branch-0.23 FIXES MAPREDUCE-4010. TestWritableJobConf fails on trunk (tucu via bobby)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23@1301553 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Robert Joseph Evans 2012-03-16 14:40:32 +00:00
parent 04abe3a9fe
commit 4c0306714b
3 changed files with 13 additions and 6 deletions

View File

@ -303,7 +303,7 @@ public class Configuration implements Iterable<Map.Entry<String,String>>,
* @return <code>true</code> if the key is deprecated and * @return <code>true</code> if the key is deprecated and
* <code>false</code> otherwise. * <code>false</code> otherwise.
*/ */
private static boolean isDeprecated(String key) { public static boolean isDeprecated(String key) {
return deprecatedKeyMap.containsKey(key); return deprecatedKeyMap.containsKey(key);
} }

View File

@ -72,6 +72,8 @@ Release 0.23.3 - UNRELEASED
MAPREDUCE-3431 NPE in Resource Manager shutdown. (stevel) MAPREDUCE-3431 NPE in Resource Manager shutdown. (stevel)
MAPREDUCE-4010. TestWritableJobConf fails on trunk (tucu via bobby)
Release 0.23.2 - UNRELEASED Release 0.23.2 - UNRELEASED
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES

View File

@ -57,20 +57,25 @@ public class TestWritableJobConf extends TestCase {
} }
private void assertEquals(Configuration conf1, Configuration conf2) { private void assertEquals(Configuration conf1, Configuration conf2) {
assertEquals(conf1.size(), conf2.size()); // We ignore deprecated keys because after deserializing, both the
// deprecated and the non-deprecated versions of a config are set.
// This is consistent with both the set and the get methods.
Iterator<Map.Entry<String, String>> iterator1 = conf1.iterator(); Iterator<Map.Entry<String, String>> iterator1 = conf1.iterator();
Map<String, String> map1 = new HashMap<String,String>(); Map<String, String> map1 = new HashMap<String,String>();
while (iterator1.hasNext()) { while (iterator1.hasNext()) {
Map.Entry<String, String> entry = iterator1.next(); Map.Entry<String, String> entry = iterator1.next();
map1.put(entry.getKey(), entry.getValue()); if (!Configuration.isDeprecated(entry.getKey())) {
map1.put(entry.getKey(), entry.getValue());
}
} }
Iterator<Map.Entry<String, String>> iterator2 = conf1.iterator(); Iterator<Map.Entry<String, String>> iterator2 = conf2.iterator();
Map<String, String> map2 = new HashMap<String,String>(); Map<String, String> map2 = new HashMap<String,String>();
while (iterator2.hasNext()) { while (iterator2.hasNext()) {
Map.Entry<String, String> entry = iterator2.next(); Map.Entry<String, String> entry = iterator2.next();
map2.put(entry.getKey(), entry.getValue()); if (!Configuration.isDeprecated(entry.getKey())) {
map2.put(entry.getKey(), entry.getValue());
}
} }
assertEquals(map1, map2); assertEquals(map1, map2);