[ 
https://issues.apache.org/jira/browse/AVRO-607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13647037#comment-13647037
 ] 

Scott Carey commented on AVRO-607:
----------------------------------

If I recall, that turns out to be very hard due to how the equals contract 
works with weak references.  There is already a Java WeakHashMap, so making one 
with identity semantics wasn't too hard.
We may need thousands of lines of code and might have to implement our own 
concurrent map implementation.  I think I'd rather spend my efforts figuring 
out how to extract Google's implementation into another namespace in the build 
with shade, jarjar, or similar.
                
> SpecificData.getSchema not thread-safe
> --------------------------------------
>
>                 Key: AVRO-607
>                 URL: https://issues.apache.org/jira/browse/AVRO-607
>             Project: Avro
>          Issue Type: Bug
>          Components: java
>    Affects Versions: 1.3.3
>            Reporter: Stephen Tu
>            Priority: Minor
>         Attachments: AVRO-607.patch
>
>
> SpecificData.getSchema uses a WeakHashMap to cache schemas, but WeakHashMap 
> is not thread-safe, and the method itself is not synchronized. Seems like 
> this could lead to the data structure getting corrupted. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to