You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Viktor Dvoretskii (Jira)" <ji...@apache.org> on 2022/08/08 16:58:00 UTC

[jira] [Created] (AVRO-3597) Recent changes in GenericDatumReader.java break compatibility

Viktor Dvoretskii created AVRO-3597:
---------------------------------------

             Summary: Recent changes in GenericDatumReader.java break compatibility
                 Key: AVRO-3597
                 URL: https://issues.apache.org/jira/browse/AVRO-3597
             Project: Apache Avro
          Issue Type: Bug
          Components: java
    Affects Versions: 1.11.1
            Reporter: Viktor Dvoretskii


We use a custom SpecificDatumReader which overrides the string creation logic. It looks like this:
{code:java}
class CustomSpecificDatumReader<T> extends SpecificDatumReader<T> {
    @Override
    protected Object newInstanceFromString(Class c, String s) {
        // custom logic
    }
} {code}
With [this commit|https://github.com/apache/avro/commit/820ed6e5ea4417b5735078bfd26c99f1305ea363], the newInstanceFromString() method is no longer called. Instead, strings are created with the hard-coded logic within GenericDatumReader.ReaderCache.

It would be appreciated if you made it possible to override the string creation logic used by GenericDatumReader.ReaderCache. Preferably make use of the newInstanceFromString() method again to maintain backward compatibility.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)