[ https://issues.apache.org/jira/browse/AVRO-607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15389184#comment-15389184 ]
Andrius Druzinis-Vitkus commented on AVRO-607: ---------------------------------------------- Hi Sean, if I understand correctly, the avro module depends on avro-guava-dependencies (the shaded slimmed-down jar) but not com.google.guava; in order to make a class available in avro, it needs to be referenced in GuavaClasses. At least, that is how I read this comment: {code:title=GuavaClasses.java|borderStyle=solid} /* * Referencing Guava classes here includes them in the minimized Guava jar * that is shaded in the avro jar. */ {code} I wasn't sure which namespace to use in SpecificData.java and chose the com.google one because classes GenericData and ReflectData also import from com.google and not org.apache.avro: {code:title=GenericData.java|borderStyle=solid} import com.google.common.collect.MapMaker; {code} {code:title=ReflectData.java|borderStyle=solid} import com.google.common.collect.MapMaker; {code} Is the above reasoning correct? I will update the patch once we clear this up. > 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, 1.8.1 > Reporter: Stephen Tu > Assignee: Andrius Druzinis-Vitkus > Priority: Blocker > Labels: newbie, patch > Fix For: 1.8.2 > > Attachments: AVRO-607.patch, 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 was sent by Atlassian JIRA (v6.3.4#6332)