avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott Carey (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AVRO-607) SpecificData.getSchema not thread-safe
Date Tue, 30 Apr 2013 18:26:16 GMT

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

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

I quite like Guava, Having a concurrent weak hash map is great, and the Immutable collections
are very useful, and several other collection types are massive time savers (Multiset, Multimap
and BiMap).

However, items get deprecated and dissapear in 2 years in Guava, so we would have to avoid
the newest APIs and quickly move off of deprecated ones to prevent users who also use it from
coming into conflict.  It is manageable, but it is a dependency that is very likely to be
used by our users, and if we are on version 11 while a user is on 13, we could be in a position
where neither version works for both of us simultaneously.  I also worry about our place as
a library far down the stack for some users.  

We could complicate our build to shade in only the classes we use under a different namespace
to avoid such problems (this may be useful for other dependencies as well). 


                
> 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

Mime
View raw message