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)