[ 
https://issues.apache.org/jira/browse/GOBBLIN-923?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudarshan Vasudevan updated GOBBLIN-923:
----------------------------------------
    Fix Version/s: 0.15.0

> Array and Map converters do not handle nullable elements properly
> -----------------------------------------------------------------
>
>                 Key: GOBBLIN-923
>                 URL: https://issues.apache.org/jira/browse/GOBBLIN-923
>             Project: Apache Gobblin
>          Issue Type: Bug
>            Reporter: Ahmed Abdul Hamid
>            Priority: Major
>             Fix For: 0.15.0
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> The following converters do not check if the {{JsonElement}} objects they are 
> invoked with are {{JsonNull}} even if these elements are nullable.
>  * {{JsonElementConversionWithAvroSchemaFactory::ArrayConverter}}
>  * {{JsonElementConversionWithAvroSchemaFactory::MapConverter}}
>  * {{JsonElementConversionFactory::ArrayConverter}}
>  * {{JsonElementConversionFactory::MapConverter}}
> This can cause these converters to throw {{UnsupportedOperationException}}, 
> e.g. an {{ArrayConverter}} invoked with an array of nullable strings throws
> {code:java}
> Caused by: java.lang.UnsupportedOperationException: JsonNull
>         at com.google.gson.JsonElement.getAsString(JsonElement.java:192) 
> ~[gson-2.8.5.jar:?]
>         at 
> org.apache.gobblin.converter.avro.JsonElementConversionFactory$StringConverter.convertField(JsonElementConversionFactory.java:322)
>  ~[gobblin-core-1.64.1501.jar:?]
>         at 
> org.apache.gobblin.converter.avro.JsonElementConversionWithAvroSchemaFactory$ArrayConverter.convertField(JsonElementConversionWithAvroSchemaFactory.java:93)
>  ~[gobblin-core-1.64.1501.jar:?]
>         at 
> org.apache.gobblin.converter.avro.JsonElementConversionFactory$JsonElementConverter.convert(JsonElementConversionFactory.java:280)
>  ~[gobblin-core-1.64.1501.jar:?]
>         at 
> org.apache.gobblin.converter.avro.JsonRecordAvroSchemaToAvroConverter.convertNestedRecord(JsonRecordAvroSchemaToAvroConverter.java:125)
>  ~[gobblin-core-1.64.1501.jar:?]
>         at 
> org.apache.gobblin.converter.avro.JsonRecordAvroSchemaToAvroConverter.convertRecord(JsonRecordAvroSchemaToAvroConverter.java:71)
>  ~[gobblin-core-1.64.1501.jar:?]
>         at 
> org.apache.gobblin.converter.avro.JsonRecordAvroSchemaToAvroConverter.convertRecord(JsonRecordAvroSchemaToAvroConverter.java:43)
>  ~[gobblin-core-1.64.1501.jar:?] {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to