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 tg...@apache.org on 2013/02/14 17:37:21 UTC
svn commit: r1446271 - in
/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common: ./
src/main/java/org/apache/hadoop/io/ src/test/java/org/apache/hadoop/io/
Author: tgraves
Date: Thu Feb 14 16:37:21 2013
New Revision: 1446271
URL: http://svn.apache.org/r1446271
Log:
HADOOP-9154. SortedMapWritable#putAll() doesn't add key/value classes to the map. (Karthik Kambatla via tgraves)
Modified:
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/AbstractMapWritable.java
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/SortedMapWritable.java
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSortedMapWritable.java
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1446271&r1=1446270&r2=1446271&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt (original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt Thu Feb 14 16:37:21 2013
@@ -85,6 +85,9 @@ Release 0.23.7 - UNRELEASED
HADOOP-9303. command manual dfsadmin missing entry for restoreFailedStorage
option (Andy Isaacson via tgraves)
+ HADOOP-9154. SortedMapWritable#putAll() doesn't add key/value classes to
+ the map. (Karthik Kambatla via tgraves)
+
Release 0.23.6 - 2013-02-06
INCOMPATIBLE CHANGES
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/AbstractMapWritable.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/AbstractMapWritable.java?rev=1446271&r1=1446270&r2=1446271&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/AbstractMapWritable.java (original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/AbstractMapWritable.java Thu Feb 14 16:37:21 2013
@@ -29,6 +29,8 @@ import org.apache.hadoop.classification.
import org.apache.hadoop.conf.Configurable;
import org.apache.hadoop.conf.Configuration;
+import com.google.common.annotations.VisibleForTesting;
+
/**
* Abstract base class for MapWritable and SortedMapWritable
*
@@ -45,10 +47,12 @@ public abstract class AbstractMapWritabl
private AtomicReference<Configuration> conf;
/* Class to id mappings */
- private Map<Class, Byte> classToIdMap = new ConcurrentHashMap<Class, Byte>();
+ @VisibleForTesting
+ Map<Class, Byte> classToIdMap = new ConcurrentHashMap<Class, Byte>();
/* Id to Class mappings */
- private Map<Byte, Class> idToClassMap = new ConcurrentHashMap<Byte, Class>();
+ @VisibleForTesting
+ Map<Byte, Class> idToClassMap = new ConcurrentHashMap<Byte, Class>();
/* The number of new classes (those not established by the constructor) */
private volatile byte newClasses = 0;
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/SortedMapWritable.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/SortedMapWritable.java?rev=1446271&r1=1446270&r2=1446271&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/SortedMapWritable.java (original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/SortedMapWritable.java Thu Feb 14 16:37:21 2013
@@ -141,7 +141,7 @@ public class SortedMapWritable extends A
for (Map.Entry<? extends WritableComparable, ? extends Writable> e:
t.entrySet()) {
- instance.put(e.getKey(), e.getValue());
+ put(e.getKey(), e.getValue());
}
}
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSortedMapWritable.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSortedMapWritable.java?rev=1446271&r1=1446270&r2=1446271&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSortedMapWritable.java (original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSortedMapWritable.java Thu Feb 14 16:37:21 2013
@@ -164,4 +164,18 @@ public class TestSortedMapWritable {
assertTrue(failureReason, !mapA.equals(mapB));
assertTrue(failureReason, !mapB.equals(mapA));
}
+
+ @Test(timeout = 1000)
+ public void testPutAll() {
+ SortedMapWritable map1 = new SortedMapWritable();
+ SortedMapWritable map2 = new SortedMapWritable();
+ map1.put(new Text("key"), new Text("value"));
+ map2.putAll(map1);
+
+ assertEquals("map1 entries don't match map2 entries", map1, map2);
+ assertTrue(
+ "map2 doesn't have class information from map1",
+ map2.classToIdMap.containsKey(Text.class)
+ && map2.idToClassMap.containsValue(Text.class));
+ }
}