[ 
http://issues.apache.org/jira/browse/NUTCH-354?page=comments#action_12429496 ] 
            
Stefan Groschupf commented on NUTCH-354:
----------------------------------------

Since this issue is already closed I can not attach the patch file, so I attach 
it as text within this comment.
If you need the file let me know and I send you a offlist mail. 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Index: src/test/org/apache/nutch/crawl/TestMapWritable.java
===================================================================
--- src/test/org/apache/nutch/crawl/TestMapWritable.java        (revision 
432325)
+++ src/test/org/apache/nutch/crawl/TestMapWritable.java        (working copy)
@@ -180,6 +180,31 @@
     assertEquals(before, after);
   }
 
+  public void testRecycling() throws Exception {
+    UTF8 value = new UTF8("value");
+    UTF8 key1 = new UTF8("a");
+    UTF8 key2 = new UTF8("b");
+    
+    MapWritable writable = new MapWritable();
+    writable.put(key1, value);
+    assertEquals(writable.get(key1), value);
+    assertNull(writable.get(key2));
+
+    DataOutputBuffer dob = new DataOutputBuffer();
+    writable.write(dob);
+    writable.clear();
+    writable.put(key1, value);
+    writable.put(key2, value);
+    assertEquals(writable.get(key1), value);
+    assertEquals(writable.get(key2), value);
+    
+    DataInputBuffer dib = new DataInputBuffer();
+    dib.reset(dob.getData(), dob.getLength());
+    writable.readFields(dib);
+    assertEquals(writable.get(key1), value);
+    assertNull(writable.get(key2));
+  }
+  
   public static void main(String[] args) throws Exception {
     TestMapWritable writable = new TestMapWritable();
     writable.testPerformance();
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

> MapWritable,  nextEntry is not reset when Entries are recycled
> --------------------------------------------------------------
>
>                 Key: NUTCH-354
>                 URL: http://issues.apache.org/jira/browse/NUTCH-354
>             Project: Nutch
>          Issue Type: Bug
>    Affects Versions: 0.8
>            Reporter: Stefan Groschupf
>            Priority: Blocker
>             Fix For: 0.9.0, 0.8.1
>
>         Attachments: resetNextEntryInMapWritableV1.patch
>
>
> MapWritables recycle entries from it internal linked-List for performance 
> reasons. The nextEntry of a entry is not reseted in case a recyclable entry 
> is found. This can cause wrong data in a MapWritable. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to