[jira] [Created] (FLINK-11799) KryoSerializer/OperatorChain ignores copy failure resulting in NullPointerException

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-11799) KryoSerializer/OperatorChain ignores copy failure resulting in NullPointerException

Shang Yuanchun (Jira)
Jason Kania created FLINK-11799:
-----------------------------------

             Summary: KryoSerializer/OperatorChain ignores copy failure resulting in NullPointerException
                 Key: FLINK-11799
                 URL: https://issues.apache.org/jira/browse/FLINK-11799
             Project: Flink
          Issue Type: Bug
          Components: Connectors / Kafka
    Affects Versions: 1.7.2
            Reporter: Jason Kania


I was encountering a problem with NullPointerExceptions with the deserialized object reaching my ProcessFunction process() method implementation as a null value. Upon investigation, I discovered two issues with the implementation of the KryoSerializer copy().

1) The 'public T copy(T from)' method swallows the error if the kryo copy() call generates an exception. The code should report the copy error at least once as a warning to be aware that the kryo copy() is failing. I understand that the code is there to handle the lack of a copy implementation but due to the potential inefficiency of having to write and read the object instead of copying it, this would seem useful information to share at the least. It is also important to have a warning in case the cause of the copy error is something that needs to be fixed.

2) The call to 'kryo.readObject(input, from.getClass())' does not handle the fact that the kryo readObject(Input input, Class aClass) method may return a null value if there are any issues. This could be handled with a check or warning in the OperatorChain.CopyingChainingOutput.pushToOperator() method but is also ignored there, allowing a null value to be passed along without providing any reason for the null value in logging.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)