[ 
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)

Reply via email to