Joshua Hyde created AVRO-1677:
---------------------------------

             Summary: Building objects with "null" default value for byte 
arrays is not thread-safe
                 Key: AVRO-1677
                 URL: https://issues.apache.org/jira/browse/AVRO-1677
             Project: Avro
          Issue Type: Bug
          Components: java
    Affects Versions: 1.7.7
            Reporter: Joshua Hyde


When building objects that have a {{null}} default value for a byte array, 
building those objects with that default value - even if those builders are 
constrained to individual threads (i.e., no shared instances between threads) - 
I intermittently get {{ArrayIndexOutOfBoundsException}} and 
{{BufferUnderflowException}} errors.

I have available a project that can almost always reproduce this issue:

https://github.com/jrh3k5/avro-specificdata-thread-safety-demo

I strongly suspect that this is the result of a shared {{SpecificData}} object, 
which all record builders that extend {{SpecificRecordBuilderBase}} use, when 
retrieving / building this default value.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to