You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Thiruvalluvan M. G. (JIRA)" <ji...@apache.org> on 2018/12/30 04:18:02 UTC

[jira] [Updated] (AVRO-1283) remove static caches from GenericData, SpecificData and ReflectData

     [ https://issues.apache.org/jira/browse/AVRO-1283?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thiruvalluvan M. G. updated AVRO-1283:
--------------------------------------
    Component/s: java

> remove static caches from GenericData, SpecificData and ReflectData
> -------------------------------------------------------------------
>
>                 Key: AVRO-1283
>                 URL: https://issues.apache.org/jira/browse/AVRO-1283
>             Project: Apache Avro
>          Issue Type: Improvement
>          Components: java
>            Reporter: Doug Cutting
>            Priority: Major
>
> Currently GenericData, ReflectData and SpecificData are often treated as singletons, through an instance returned by a static get() method.  Because of this, the caches they have must be thread-safe and are also memory leaks.
> Increasingly of late, new instances of these are allocated for use by a given DatumReader or DatumWriter.  This issue explores whether we can:
>  - Change the static get() methods to always return new instances, so that each DatumReader and DatumWriter has its own instance.  Since DatumReader and DatumWriter are not thread-safe, the thread safety requirement could then be removed from caches, increasing their performance; and
>  - Change caches to be non-static, to remove potential memory leaks.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)