[
https://issues.apache.org/jira/browse/HADOOP-9154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13560600#comment-13560600
]
Tom White commented on HADOOP-9154:
-----------------------------------
Sorry to come to this late, but I feel that we should just fix the bug and not
perform such extensive refactoring here. This is stable code and we need to be
sure that such a change doesn't break compatibility.
The following fix plus a unit test to show the problem should suffice, no?
{noformat}
diff --git
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/SortedMapWritable.java
b/hadoop-common-p
index eee744e..b533d94 100644
---
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/SortedMapWritable.java
+++
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/SortedMapWritable.java
@@ -141,7 +141,7 @@ public void putAll(Map<? extends WritableComparable, ?
extends Writable> t) {
for (Map.Entry<? extends WritableComparable, ? extends Writable> e:
t.entrySet()) {
- instance.put(e.getKey(), e.getValue());
+ put(e.getKey(), e.getValue());
}
}
{noformat}
> SortedMapWritable#putAll() doesn't add key/value classes to the map
> -------------------------------------------------------------------
>
> Key: HADOOP-9154
> URL: https://issues.apache.org/jira/browse/HADOOP-9154
> Project: Hadoop Common
> Issue Type: Bug
> Components: io
> Affects Versions: 2.0.2-alpha
> Reporter: Karthik Kambatla
> Assignee: Karthik Kambatla
> Attachments: HADOOP-9124.patch, hadoop-9154-draft.patch,
> hadoop-9154.patch, hadoop-9154.patch
>
>
> In the following code from {{SortedMapWritable}}, #putAll() doesn't add
> key/value classes to the class-id maps.
> {code}
> @Override
> public Writable put(WritableComparable key, Writable value) {
> addToMap(key.getClass());
> addToMap(value.getClass());
> return instance.put(key, value);
> }
> @Override
> public void putAll(Map<? extends WritableComparable, ? extends Writable> t){
> for (Map.Entry<? extends WritableComparable, ? extends Writable> e:
> t.entrySet()) {
>
> instance.put(e.getKey(), e.getValue());
> }
> }
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira