You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Zoltan Farkas (JIRA)" <ji...@apache.org> on 2015/07/20 23:49:04 UTC

[jira] [Commented] (AVRO-1707) Java serialization readers/writers in generated Jaca classes

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

Zoltan Farkas commented on AVRO-1707:
-------------------------------------

I propose:

1) Making this reference to the creator thread a SoftReference, this way we do not hold onto this thread instance past its expiration date...
2) make these readers/writers which are only used for java serialization Lazy, this way users who do not use java serialization do not pay the class loading penalty to initialize this reader/writer pair...

implementation:

https://github.com/zolyfarkas/avro/commit/762ccdc2aecd4cd8668a86562165e5babdce019b


> Java serialization readers/writers in generated Jaca classes
> ------------------------------------------------------------
>
>                 Key: AVRO-1707
>                 URL: https://issues.apache.org/jira/browse/AVRO-1707
>             Project: Avro
>          Issue Type: Improvement
>    Affects Versions: 1.8.0
>            Reporter: Zoltan Farkas
>
> the following static instances are declared in the generated classes:
>   private static final org.apache.avro.io.DatumWriter
>     WRITER$ = new org.apache.avro.specific.SpecificDatumWriter(SCHEMA$);  
>   private static final org.apache.avro.io.DatumReader
>     READER$ = new org.apache.avro.specific.SpecificDatumReader(SCHEMA$);  
>  the reaser/writer hold on to a reference to the "Creator Thread":
> "private final Thread creator;"
> which inhibits GC-ing thread locals... for this thread...



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