Hadoop Common
  1. Hadoop Common
  2. HADOOP-9154

SortedMapWritable#putAll() doesn't add key/value classes to the map

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.1.1, 2.0.2-alpha
    • Fix Version/s: 1.2.0, 0.23.7, 2.1.0-beta
    • Component/s: io
    • Labels:
      None

      Description

      In the following code from SortedMapWritable, #putAll() doesn't add key/value classes to the class-id maps.

      
        @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());
          }
        }
      
      1. hadoop-9154-draft.patch
        9 kB
        Karthik Kambatla
      2. hadoop-9154-draft.patch
        4 kB
        Karthik Kambatla
      3. hadoop-9154-branch1.patch
        2 kB
        Karthik Kambatla
      4. hadoop-9154.patch
        20 kB
        Karthik Kambatla
      5. hadoop-9154.patch
        28 kB
        Karthik Kambatla
      6. hadoop-9154.patch
        4 kB
        Karthik Kambatla
      7. hadoop-9154.patch
        3 kB
        Karthik Kambatla
      8. hadoop-9154.patch
        3 kB
        Karthik Kambatla
      9. HADOOP-9124.patch
        29 kB
        Surenkumar Nihalani

        Issue Links

          Activity

          Hide
          Surenkumar Nihalani added a comment -

          So, using SortedMapWritable's put will solve this rather than manually adding Map's Key & Value classes once because generic type could be an interface and we don't want to miss out on each objects specific class, right?

          Show
          Surenkumar Nihalani added a comment - So, using SortedMapWritable's put will solve this rather than manually adding Map's Key & Value classes once because generic type could be an interface and we don't want to miss out on each objects specific class, right?
          Hide
          Karthik Kambatla (Inactive) added a comment -

          Yes, that should suffice.

          Show
          Karthik Kambatla (Inactive) added a comment - Yes, that should suffice.
          Hide
          Karthik Kambatla (Inactive) added a comment -

          A better approach might be to add a protected Map instance to AbstractMapWritable to be instantiated in subclasses - SortedMapWritable and MapWritable. All the methods in Map can be implemented in the abstract class, while specific methods like #headMap() can be implemented in subclasses.

          That would let us avoid code duplication.

          Show
          Karthik Kambatla (Inactive) added a comment - A better approach might be to add a protected Map instance to AbstractMapWritable to be instantiated in subclasses - SortedMapWritable and MapWritable . All the methods in Map can be implemented in the abstract class, while specific methods like #headMap() can be implemented in subclasses. That would let us avoid code duplication.
          Hide
          Karthik Kambatla (Inactive) added a comment -

          Uploading first draft of the patch. The patch moves all common map functionality to AbstractMapWritable.

          Show
          Karthik Kambatla (Inactive) added a comment - Uploading first draft of the patch. The patch moves all common map functionality to AbstractMapWritable.
          Hide
          Surenkumar Nihalani added a comment -

          It's my understanding that merging the tests is my part here. If work division is different, please correct me.

          Now, we can merge the TestMapWritable & TestSortedMapWritable into one TestAbstractMap. However deleting the older files doesn't seem like a good option because incase MapWritable & SortedMapWritable change, we need the developer to be aware what he's changing, but, keeping them would mean code duplication. I was going through JUnit's offering. I think we'll have to create an abstract test class and then extend it in all files (TestMapWritable, TestSortedMapWritable, TestAbstractMap)
          with right initialization in a setup method.

          Is there a more elegant way to do this?

          Show
          Surenkumar Nihalani added a comment - It's my understanding that merging the tests is my part here. If work division is different, please correct me. Now, we can merge the TestMapWritable & TestSortedMapWritable into one TestAbstractMap. However deleting the older files doesn't seem like a good option because incase MapWritable & SortedMapWritable change, we need the developer to be aware what he's changing, but, keeping them would mean code duplication. I was going through JUnit's offering. I think we'll have to create an abstract test class and then extend it in all files (TestMapWritable, TestSortedMapWritable, TestAbstractMap) with right initialization in a setup method. Is there a more elegant way to do this?
          Hide
          Karthik Kambatla (Inactive) added a comment -

          Thanks for chipping in, Suresh. I didn't have any particular work division in mind.

          I think we'll have to create an abstract test class and then extend it in all files (TestMapWritable, TestSortedMapWritable, TestAbstractMap)

          with right initialization in a setup method.

          I mostly agree. I was thinking of having an abstract test class AbstractMapWritableTest that has tests for each of the map methods. TestMapWritable and TestSortedMapWritable should have the right initialization as you mention. We shouldn't need TestAbstractMap.

          Show
          Karthik Kambatla (Inactive) added a comment - Thanks for chipping in, Suresh. I didn't have any particular work division in mind. I think we'll have to create an abstract test class and then extend it in all files (TestMapWritable, TestSortedMapWritable, TestAbstractMap) with right initialization in a setup method. I mostly agree. I was thinking of having an abstract test class AbstractMapWritableTest that has tests for each of the map methods. TestMapWritable and TestSortedMapWritable should have the right initialization as you mention. We shouldn't need TestAbstractMap .
          Hide
          Surenkumar Nihalani added a comment -
          {Thanks for chipping in, Suresh.}

          It's Suren.

          In MapWritable's implementation,
          {{
          @Override
          public int hashCode()

          { return 1 + this.instance.hashCode(); }

          }}

          What's the purpose of adding one to instance's hashCode?

          Show
          Surenkumar Nihalani added a comment - {Thanks for chipping in, Suresh.} It's Suren. In MapWritable's implementation, {{ @Override public int hashCode() { return 1 + this.instance.hashCode(); } }} What's the purpose of adding one to instance's hashCode?
          Hide
          Surenkumar Nihalani added a comment -

          Take a look at the merged tests.

          Show
          Surenkumar Nihalani added a comment - Take a look at the merged tests.
          Hide
          Karthik Kambatla (Inactive) added a comment -

          Extremely sorry for messing up the name - I was thinking Suren, but typed Suresh (my co-advisor's name is Suresh, force of habit).

          I took a cursory look at the patch - it seems to be coming along very well. Let me try to take a closer look and add anything that I see we should. Regarding the hashCode() implementation, I don't understand the motive behind adding 1 to the hashCode either.

          Show
          Karthik Kambatla (Inactive) added a comment - Extremely sorry for messing up the name - I was thinking Suren, but typed Suresh (my co-advisor's name is Suresh, force of habit). I took a cursory look at the patch - it seems to be coming along very well. Let me try to take a closer look and add anything that I see we should. Regarding the hashCode() implementation, I don't understand the motive behind adding 1 to the hashCode either.
          Hide
          Surenkumar Nihalani added a comment -

          No worries about the name.

          Just realized,
          {{
          @SuppressWarnings("rawtypes")
          @Override
          public boolean equals(Object obj) {
          if(obj == null)

          { return false; }

          if (this == obj)

          { return true; }

          if (obj.getClass() == this.getClass()) {
          Map other = (Map) obj;
          if (size() != other.size())

          { return false; }

          return entrySet().equals(other.entrySet());
          }
          return false;
          }
          }}

          Shouldn't we be using instanceof instead of matching for classes? because incase some class extends MapWritable, we won't hit the branch because of exact match of the class check.

          Show
          Surenkumar Nihalani added a comment - No worries about the name. Just realized, {{ @SuppressWarnings("rawtypes") @Override public boolean equals(Object obj) { if(obj == null) { return false; } if (this == obj) { return true; } if (obj.getClass() == this.getClass()) { Map other = (Map) obj; if (size() != other.size()) { return false; } return entrySet().equals(other.entrySet()); } return false; } }} Shouldn't we be using instanceof instead of matching for classes? because incase some class extends MapWritable, we won't hit the branch because of exact match of the class check.
          Hide
          Surenkumar Nihalani added a comment -

          Karthik, Had a chance to review the patch?

          Show
          Surenkumar Nihalani added a comment - Karthik, Had a chance to review the patch?
          Hide
          Karthik Kambatla (Inactive) added a comment -

          Hi Suren,

          Sorry I couldn't work on this. I ll try to take a look sometime this week.

          Regarding matching classes, this method is to be called on MapWritable and SortedMapWritable objects and hence couldn't use instanceof. The other option is to implement this method separately in those classes. In this case, I thought this should be okay.

          Show
          Karthik Kambatla (Inactive) added a comment - Hi Suren, Sorry I couldn't work on this. I ll try to take a look sometime this week. Regarding matching classes, this method is to be called on MapWritable and SortedMapWritable objects and hence couldn't use instanceof. The other option is to implement this method separately in those classes. In this case, I thought this should be okay.
          Hide
          Karthik Kambatla (Inactive) added a comment -

          Suren, I took a closer look. Indeed the patch looks good. We might be able to clean up a little to make it. Let me take a shot at it, and post my changes here.

          Show
          Karthik Kambatla (Inactive) added a comment - Suren, I took a closer look. Indeed the patch looks good. We might be able to clean up a little to make it. Let me take a shot at it, and post my changes here.
          Hide
          Surenkumar Nihalani added a comment -

          Karthik, I would highly appreciate it if you let me know what changes I need to make, so this way I'll be learning and this will bring up my coding workflow closer to what's the standard expectation, Instead of me examining the patch. Saves you time to code a trivial patch and I'll learn too.

          Show
          Surenkumar Nihalani added a comment - Karthik, I would highly appreciate it if you let me know what changes I need to make, so this way I'll be learning and this will bring up my coding workflow closer to what's the standard expectation, Instead of me examining the patch. Saves you time to code a trivial patch and I'll learn too.
          Hide
          Karthik Kambatla (Inactive) added a comment -

          Suren, saw your comment slightly late. I ll keep it in mind the next time.

          Here is a patch that cleans up Suren's earlier patch.

          Show
          Karthik Kambatla (Inactive) added a comment - Suren, saw your comment slightly late. I ll keep it in mind the next time. Here is a patch that cleans up Suren's earlier patch.
          Hide
          Karthik Kambatla (Inactive) added a comment -

          Forgot to add a file to the previous patch. Here is the right patch.

          Show
          Karthik Kambatla (Inactive) added a comment - Forgot to add a file to the previous patch. Here is the right patch.
          Hide
          Karthik Kambatla (Inactive) added a comment -

          In its current form, the patch looks good to go.

          The only nit (I am not particular though) is in test messages: String failureReason is being initialized for every assertion. This is not required for a single assertion of that kind.

          Show
          Karthik Kambatla (Inactive) added a comment - In its current form, the patch looks good to go. The only nit (I am not particular though) is in test messages: String failureReason is being initialized for every assertion. This is not required for a single assertion of that kind.
          Hide
          Hadoop QA added a comment -

          +1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12563498/hadoop-9154.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 3 new or modified test files.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 eclipse:eclipse. The patch built with eclipse:eclipse.

          +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 core tests. The patch passed unit tests in hadoop-common-project/hadoop-common.

          +1 contrib tests. The patch passed contrib unit tests.

          Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/1951//testReport/
          Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/1951//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - +1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12563498/hadoop-9154.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 3 new or modified test files. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. +1 eclipse:eclipse . The patch built with eclipse:eclipse. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 core tests . The patch passed unit tests in hadoop-common-project/hadoop-common. +1 contrib tests . The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/1951//testReport/ Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/1951//console This message is automatically generated.
          Hide
          Surenkumar Nihalani added a comment -

          I debated initializing failureReason for a single assertion with myself when I was coding it and I went ahead it for three reasons:

          1. Makes the code consistent. If you read the test from the start, you kinda start expecting it to have been initialized before every assert.
          2. Easy extension. If anyone adds a bit more to the test, he/she wouldn't have to add initialization statement.
          3. Code looks pretty and keeps all the assert statements (single assert ones especially) within 80 characters limit.

          If you think it's not worth above reasons, I am happy to change it and upload the patch.

          Show
          Surenkumar Nihalani added a comment - I debated initializing failureReason for a single assertion with myself when I was coding it and I went ahead it for three reasons: Makes the code consistent. If you read the test from the start, you kinda start expecting it to have been initialized before every assert. Easy extension. If anyone adds a bit more to the test, he/she wouldn't have to add initialization statement. Code looks pretty and keeps all the assert statements (single assert ones especially) within 80 characters limit. If you think it's not worth above reasons, I am happy to change it and upload the patch.
          Hide
          Karthik Kambatla (Inactive) added a comment -

          Suren, The points make sense. It is different from other tests in the code base, but that is no reason to not do it this way. Do you agree with my refactoring of the tests?

          +1

          Show
          Karthik Kambatla (Inactive) added a comment - Suren, The points make sense. It is different from other tests in the code base, but that is no reason to not do it this way. Do you agree with my refactoring of the tests? +1
          Hide
          Surenkumar Nihalani added a comment -

          I agree with the refactoring. So, I just +1 and a this will be considered for commit, right?

          +1

          Show
          Surenkumar Nihalani added a comment - I agree with the refactoring. So, I just +1 and a this will be considered for commit, right? +1
          Hide
          Karthik Kambatla (Inactive) added a comment -

          That is right. At least one of the committers should review the patch and commit it.

          Show
          Karthik Kambatla (Inactive) added a comment - That is right. At least one of the committers should review the patch and commit it.
          Hide
          Tom White added a comment -

          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?

          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());
               }
             }
          
          Show
          Tom White added a comment - 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? 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()); } }
          Hide
          Surenkumar Nihalani added a comment -

          I see better maintainability in this refactoring. If you feel otherwise, that's ok too.

          Since both MapWritable}}s extend {{AbstractMapWritable the one line fix and the unit tests should suffice.

          Show
          Surenkumar Nihalani added a comment - I see better maintainability in this refactoring. If you feel otherwise, that's ok too. Since both MapWritable}}s extend {{AbstractMapWritable the one line fix and the unit tests should suffice.
          Hide
          Karthik Kambatla (Inactive) added a comment -

          Thanks for your inputs, Tom. I am uploading a fresh patch by the approach you suggested.

          The added test doesn't pass yet due to its dependency on HADOOP-9124. I ll upload another patch once we are done with HADOOP-9124.

          Show
          Karthik Kambatla (Inactive) added a comment - Thanks for your inputs, Tom. I am uploading a fresh patch by the approach you suggested. The added test doesn't pass yet due to its dependency on HADOOP-9124 . I ll upload another patch once we are done with HADOOP-9124 .
          Hide
          Karthik Kambatla (Inactive) added a comment -

          Uploading a patch that applies on top of the latest patch in HADOOP-9124. Will submit the patch after HADOOP-9124 gets submitted.

          Show
          Karthik Kambatla (Inactive) added a comment - Uploading a patch that applies on top of the latest patch in HADOOP-9124 . Will submit the patch after HADOOP-9124 gets submitted.
          Hide
          Hadoop QA added a comment -

          +1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12567610/hadoop-9154.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 1 new or modified test files.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 eclipse:eclipse. The patch built with eclipse:eclipse.

          +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 core tests. The patch passed unit tests in hadoop-common-project/hadoop-common.

          +1 contrib tests. The patch passed contrib unit tests.

          Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/2132//testReport/
          Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/2132//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - +1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12567610/hadoop-9154.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 1 new or modified test files. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. +1 eclipse:eclipse . The patch built with eclipse:eclipse. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 core tests . The patch passed unit tests in hadoop-common-project/hadoop-common. +1 contrib tests . The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/2132//testReport/ Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/2132//console This message is automatically generated.
          Hide
          Karthik Kambatla (Inactive) added a comment -

          Uploading fresh patches for trunk and branch-1, now that HADOOP-9124 is committed to all branches.

          Show
          Karthik Kambatla (Inactive) added a comment - Uploading fresh patches for trunk and branch-1, now that HADOOP-9124 is committed to all branches.
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12568438/hadoop-9154-branch1.patch
          against trunk revision .

          -1 patch. The patch command could not apply the patch.

          Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/2161//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12568438/hadoop-9154-branch1.patch against trunk revision . -1 patch . The patch command could not apply the patch. Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/2161//console This message is automatically generated.
          Hide
          Tom White added a comment -

          I just committed this. Thanks Karthik!

          Show
          Tom White added a comment - I just committed this. Thanks Karthik!
          Hide
          Hudson added a comment -

          Integrated in Hadoop-trunk-Commit #3361 (See https://builds.apache.org/job/Hadoop-trunk-Commit/3361/)
          HADOOP-9154. SortedMapWritable#putAll() doesn't add key/value classes to the map. Contributed by Karthik Kambatla. (Revision 1446183)

          Result = SUCCESS
          tomwhite : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1446183
          Files :

          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/AbstractMapWritable.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/SortedMapWritable.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSortedMapWritable.java
          Show
          Hudson added a comment - Integrated in Hadoop-trunk-Commit #3361 (See https://builds.apache.org/job/Hadoop-trunk-Commit/3361/ ) HADOOP-9154 . SortedMapWritable#putAll() doesn't add key/value classes to the map. Contributed by Karthik Kambatla. (Revision 1446183) Result = SUCCESS tomwhite : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1446183 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/AbstractMapWritable.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/SortedMapWritable.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSortedMapWritable.java
          Hide
          Hudson added a comment -

          Integrated in Hadoop-Yarn-trunk #128 (See https://builds.apache.org/job/Hadoop-Yarn-trunk/128/)
          HADOOP-9154. SortedMapWritable#putAll() doesn't add key/value classes to the map. Contributed by Karthik Kambatla. (Revision 1446183)

          Result = SUCCESS
          tomwhite : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1446183
          Files :

          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/AbstractMapWritable.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/SortedMapWritable.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSortedMapWritable.java
          Show
          Hudson added a comment - Integrated in Hadoop-Yarn-trunk #128 (See https://builds.apache.org/job/Hadoop-Yarn-trunk/128/ ) HADOOP-9154 . SortedMapWritable#putAll() doesn't add key/value classes to the map. Contributed by Karthik Kambatla. (Revision 1446183) Result = SUCCESS tomwhite : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1446183 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/AbstractMapWritable.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/SortedMapWritable.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSortedMapWritable.java
          Hide
          Hudson added a comment -

          Integrated in Hadoop-Hdfs-0.23-Build #526 (See https://builds.apache.org/job/Hadoop-Hdfs-0.23-Build/526/)
          HADOOP-9154. SortedMapWritable#putAll() doesn't add key/value classes to the map. (Karthik Kambatla via tgraves) (Revision 1446271)

          Result = SUCCESS
          tgraves : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1446271
          Files :

          • /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
          Show
          Hudson added a comment - Integrated in Hadoop-Hdfs-0.23-Build #526 (See https://builds.apache.org/job/Hadoop-Hdfs-0.23-Build/526/ ) HADOOP-9154 . SortedMapWritable#putAll() doesn't add key/value classes to the map. (Karthik Kambatla via tgraves) (Revision 1446271) Result = SUCCESS tgraves : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1446271 Files : /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
          Hide
          Hudson added a comment -

          Integrated in Hadoop-Hdfs-trunk #1317 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1317/)
          HADOOP-9154. SortedMapWritable#putAll() doesn't add key/value classes to the map. Contributed by Karthik Kambatla. (Revision 1446183)

          Result = FAILURE
          tomwhite : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1446183
          Files :

          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/AbstractMapWritable.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/SortedMapWritable.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSortedMapWritable.java
          Show
          Hudson added a comment - Integrated in Hadoop-Hdfs-trunk #1317 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1317/ ) HADOOP-9154 . SortedMapWritable#putAll() doesn't add key/value classes to the map. Contributed by Karthik Kambatla. (Revision 1446183) Result = FAILURE tomwhite : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1446183 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/AbstractMapWritable.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/SortedMapWritable.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSortedMapWritable.java
          Hide
          Hudson added a comment -

          Integrated in Hadoop-Mapreduce-trunk #1345 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1345/)
          HADOOP-9154. SortedMapWritable#putAll() doesn't add key/value classes to the map. Contributed by Karthik Kambatla. (Revision 1446183)

          Result = SUCCESS
          tomwhite : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1446183
          Files :

          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/AbstractMapWritable.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/SortedMapWritable.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSortedMapWritable.java
          Show
          Hudson added a comment - Integrated in Hadoop-Mapreduce-trunk #1345 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1345/ ) HADOOP-9154 . SortedMapWritable#putAll() doesn't add key/value classes to the map. Contributed by Karthik Kambatla. (Revision 1446183) Result = SUCCESS tomwhite : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1446183 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/AbstractMapWritable.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/SortedMapWritable.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSortedMapWritable.java
          Hide
          Matt Foley added a comment -

          Closed upon release of Hadoop 1.2.0.

          Show
          Matt Foley added a comment - Closed upon release of Hadoop 1.2.0.

            People

            • Assignee:
              Karthik Kambatla
              Reporter:
              Karthik Kambatla
            • Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development