François Lacombe created FLINK-13538:
----------------------------------------

             Summary: Give field names in deserializers thrown exceptions
                 Key: FLINK-13538
                 URL: https://issues.apache.org/jira/browse/FLINK-13538
             Project: Flink
          Issue Type: Improvement
          Components: Formats (JSON, Avro, Parquet, ORC, SequenceFile)
    Affects Versions: 1.8.0
            Reporter: François Lacombe


Deserializers like JsonRowDeserializerSchema parse JSON strings according to a 
TypeInformation<?> object.

Types mistakes can occur and it usually rise a IOException caused by a 
IllegalStateException. Here I try to parse "field":"blabla" described with 
Type.INT

 
{code:java}
java.io.IOException: Failed to deserialize JSON object.
    at 
org.apache.flink.formats.json.JsonRowDeserializationSchema.deserialize(JsonRowDeserializationSchema.java:97)
    at 
com.dcbrain.etl.inputformat.JsonInputFormat.nextRecord(JsonInputFormat.java:96)
    at 
com.dcbrain.etl.inputformat.JsonInputFormat.nextRecord(JsonInputFormat.java:1)
    at 
org.apache.flink.runtime.operators.DataSourceTask.invoke(DataSourceTask.java:192)
    at org.apache.flink.runtime.taskmanager.Task.run(Task.java:711)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalStateException: Unsupported type information 
'Integer' for node: "blabla"
    at 
org.apache.flink.formats.json.JsonRowDeserializationSchema.convert(JsonRowDeserializationSchema.java:191)
    at 
org.apache.flink.formats.json.JsonRowDeserializationSchema.convertRow(JsonRowDeserializationSchema.java:212)
    at 
org.apache.flink.formats.json.JsonRowDeserializationSchema.deserialize(JsonRowDeserializationSchema.java:95)
    ... 5 common frames omitted{code}
 

The message nor the exception objects contains reference to field causing this 
error which require time to inspect complex input data to find where the error 
really is.

Could it be possible to improve messages or even Exceptions objects thrown by 
Serializers/Deserializers to get which field is responsible of the error please?

JsonRowDeserializerSchema isn't the only one touched by such issues.

 

This will allow to produce more useful logs to be read by users or 
administrators.

 

All the best



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to