[
https://issues.apache.org/jira/browse/AVRO-4321?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ryan Skraba updated AVRO-4321:
------------------------------
Description:
AVRO-3989 (fixed in [https://github.com/apache/avro/pull/3354/changes)]
registers LogicalType conversion classes explicitly – as a side effect, we now
see NullPointerExceptions on the {{getConversionByClass(datum, logicalType)}}
methods when logicalType is null (which is a valid use case for Stringable
classes, for example.
This breaks some Parquet unit tests for Stringable data and is a regression
that should be fixed for 1.12.2.
{code:java}
java.lang.NullPointerException: Cannot invoke
"org.apache.avro.LogicalType.getName()" because "logicalType" is null
at
org.apache.avro.generic.GenericData.getConversionByClass(GenericData.java:190)
at
org.apache.parquet.avro.AvroRecordConverter.newConverter(AvroRecordConverter.java:360)
at
org.apache.parquet.avro.AvroRecordConverter.<init>(AvroRecordConverter.java:152)
at
org.apache.parquet.avro.AvroRecordConverter.<init>(AvroRecordConverter.java:99)
at
org.apache.parquet.avro.AvroRecordMaterializer.<init>(AvroRecordMaterializer.java:33)
at
org.apache.parquet.avro.AvroReadSupport.prepareForRead(AvroReadSupport.java:195)
at
org.apache.parquet.hadoop.InternalParquetRecordReader.initialize(InternalParquetRecordReader.java:205)
at
org.apache.parquet.hadoop.ParquetReader.initReader(ParquetReader.java:181)
{code}
was:
AVRO-3989 (fixed in [https://github.com/apache/avro/pull/3354/changes)]
registers LogicalType conversion classes explicitly – as a side effect, we now
see NullPointerExceptions on the \{{getConversionByClass(datum, logicalType)}}
methods when logicalType is null (which is a valid use case for Stringable
classes, for example.
This breaks some Parquet unit tests for Stringable data and is a regression
that should be fixed for 1.12.2.
> [Java] NPE on getConversionByClass
> ----------------------------------
>
> Key: AVRO-4321
> URL: https://issues.apache.org/jira/browse/AVRO-4321
> Project: Apache Avro
> Issue Type: Bug
> Reporter: Ryan Skraba
> Priority: Major
>
> AVRO-3989 (fixed in [https://github.com/apache/avro/pull/3354/changes)]
> registers LogicalType conversion classes explicitly – as a side effect, we
> now see NullPointerExceptions on the {{getConversionByClass(datum,
> logicalType)}} methods when logicalType is null (which is a valid use case
> for Stringable classes, for example.
> This breaks some Parquet unit tests for Stringable data and is a regression
> that should be fixed for 1.12.2.
> {code:java}
> java.lang.NullPointerException: Cannot invoke
> "org.apache.avro.LogicalType.getName()" because "logicalType" is null
> at
> org.apache.avro.generic.GenericData.getConversionByClass(GenericData.java:190)
> at
> org.apache.parquet.avro.AvroRecordConverter.newConverter(AvroRecordConverter.java:360)
> at
> org.apache.parquet.avro.AvroRecordConverter.<init>(AvroRecordConverter.java:152)
> at
> org.apache.parquet.avro.AvroRecordConverter.<init>(AvroRecordConverter.java:99)
> at
> org.apache.parquet.avro.AvroRecordMaterializer.<init>(AvroRecordMaterializer.java:33)
> at
> org.apache.parquet.avro.AvroReadSupport.prepareForRead(AvroReadSupport.java:195)
>
> at
> org.apache.parquet.hadoop.InternalParquetRecordReader.initialize(InternalParquetRecordReader.java:205)
>
> at
> org.apache.parquet.hadoop.ParquetReader.initReader(ParquetReader.java:181)
>
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)