You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@avro.apache.org by "gabrywu (Jira)" <ji...@apache.org> on 2023/11/14 03:59:00 UTC

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

    [ https://issues.apache.org/jira/browse/AVRO-1283 ]


    gabrywu deleted comment on AVRO-1283:
    -------------------------------

was (Author: gabry.wu):
any updates here?

> 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
(v8.20.10#820010)