[ 
https://issues.apache.org/jira/browse/AVRO-738?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Scott Carey updated AVRO-738:
-----------------------------

         Priority: Critical  (was: Major)
    Fix Version/s: 1.5.0

This looks like a relatively crirical bug.

BinaryEncoder is not clearing out its byteWriter state when initialized with a 
new output stream.

In general it seems like there are several performance enhancements to be had 
as well -- access to the outputStream is too fine-grained.

As a work-around use the 

{code}
  public void writeBytes(byte[] bytes, int start, int len) throws IOException
{code}

signature instead of

{code}
  public void writeBytes(ByteBuffer bytes) throws IOException
{code}

That should avoid this bug.

> BinaryEncoder's init() function does not reset the OutputStream of the 
> embedded SimpleByteWriter
> ------------------------------------------------------------------------------------------------
>
>                 Key: AVRO-738
>                 URL: https://issues.apache.org/jira/browse/AVRO-738
>             Project: Avro
>          Issue Type: Bug
>          Components: java
>    Affects Versions: 1.4.1
>            Reporter: Devajyoti Sarkar
>            Priority: Critical
>             Fix For: 1.5.0
>
>
> This is a problem if one is trying to reuse the BinaryEncoder by passing a 
> new OutputStream with the init() method. While the encoder will write all the 
> fields to the new OutputStream, fields that are of type "bytes" do not get 
> written. This effectively means that one needs to create a new BinaryEncoder 
> each time if one is serializing record with a "bytes" field in it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to