From 4c0306714b694c655279ce5a4711f96b8cd38607 Mon Sep 17 00:00:00 2001 From: Robert Joseph Evans Date: Fri, 16 Mar 2012 14:40:32 +0000 Subject: [PATCH] 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 --- .../org/apache/hadoop/conf/Configuration.java | 2 +- hadoop-mapreduce-project/CHANGES.txt | 2 ++ .../apache/hadoop/mapred/TestWritableJobConf.java | 15 ++++++++++----- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java index 44bb72318e3..40f541dfcca 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java @@ -303,7 +303,7 @@ public class Configuration implements Iterable>, * @return true if the key is deprecated and * false otherwise. */ - private static boolean isDeprecated(String key) { + public static boolean isDeprecated(String key) { return deprecatedKeyMap.containsKey(key); } diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index 910775f484a..f8a19aeaf2d 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/hadoop-mapreduce-project/CHANGES.txt @@ -72,6 +72,8 @@ Release 0.23.3 - UNRELEASED MAPREDUCE-3431 NPE in Resource Manager shutdown. (stevel) + MAPREDUCE-4010. TestWritableJobConf fails on trunk (tucu via bobby) + Release 0.23.2 - UNRELEASED INCOMPATIBLE CHANGES diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestWritableJobConf.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestWritableJobConf.java index c3996b2f4a1..2c0cedcbb30 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestWritableJobConf.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestWritableJobConf.java @@ -57,20 +57,25 @@ public class TestWritableJobConf extends TestCase { } 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> iterator1 = conf1.iterator(); Map map1 = new HashMap(); while (iterator1.hasNext()) { Map.Entry entry = iterator1.next(); - map1.put(entry.getKey(), entry.getValue()); + if (!Configuration.isDeprecated(entry.getKey())) { + map1.put(entry.getKey(), entry.getValue()); + } } - Iterator> iterator2 = conf1.iterator(); + Iterator> iterator2 = conf2.iterator(); Map map2 = new HashMap(); while (iterator2.hasNext()) { Map.Entry entry = iterator2.next(); - map2.put(entry.getKey(), entry.getValue()); + if (!Configuration.isDeprecated(entry.getKey())) { + map2.put(entry.getKey(), entry.getValue()); + } } assertEquals(map1, map2);