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)