[ https://issues.apache.org/jira/browse/GORA-361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14079027#comment-14079027 ]
Lewis John McGibbney commented on GORA-361: ------------------------------------------- Thank you Henry :) > AvroUtils.deepClonePersistent needs to flush BinaryEncoder > ---------------------------------------------------------- > > Key: GORA-361 > URL: https://issues.apache.org/jira/browse/GORA-361 > Project: Apache Gora > Issue Type: Bug > Components: gora-core > Affects Versions: 0.4 > Reporter: Gerhard Gossen > Assignee: Gerhard Gossen > Fix For: 0.5 > > Attachments: GORA-361.patch > > > Calling AvroUtils.deepClonePersistent on a smallish object (e.g. an unfetched > Nutch WebPage) results in the following exception: > {code:java} > java.lang.RuntimeException: Unable to deserialize avro object from byte > buffer - please report this issue to the Gora bugtracker or your > administrator. > at > org.apache.gora.util.AvroUtils.deepClonePersistent(AvroUtils.java:125) > {code} > The method clones its argument by writing it to a wrapped byte array and > deserializing it from there. However, the output is buffered in the > BinaryEncoder and doesn't appear in the OutputStream. Adding {{enc.flush()}} > after {{writer.write}} seems to fix the bug. > The attached patch contains a test that demonstrates the bug. -- This message was sent by Atlassian JIRA (v6.2#6252)