[ 
https://issues.apache.org/jira/browse/KAFKA-9192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16979718#comment-16979718
 ] 

Lev Zemlyanov commented on KAFKA-9192:
--------------------------------------

I have reproduced this issue - if the value does not exist, `value.get()` will 
return `null` at line #701 which will result in `JsonNode jsonValue` being 
`null` and throwing the `NPE`.

 

I have issued a PR to fix this issue.

> NullPointerException if field in schema not present in value
> ------------------------------------------------------------
>
>                 Key: KAFKA-9192
>                 URL: https://issues.apache.org/jira/browse/KAFKA-9192
>             Project: Kafka
>          Issue Type: Bug
>          Components: KafkaConnect
>    Affects Versions: 2.2.1
>            Reporter: Mark Tinsley
>            Priority: Major
>
> Given a message:
> {code:java}
> {
>    "schema":{
>       "type":"struct",
>       "fields":[
>          {
>             "type":"string",
>             "optional":true,
>             "field":"abc"
>          }
>       ],
>       "optional":false,
>       "name":"foobar"
>    },
>    "payload":{
>    }
> }
> {code}
> I would expect, given the field is optional, for the JsonConverter to still 
> process this value. 
> What happens is I get a null pointer exception, the stacktrace points to this 
> line: 
> https://github.com/apache/kafka/blob/2.1/connect/json/src/main/java/org/apache/kafka/connect/json/JsonConverter.java#L701
>  called by 
> https://github.com/apache/kafka/blob/2.1/connect/json/src/main/java/org/apache/kafka/connect/json/JsonConverter.java#L181
> Issue seems to be that we need to check and see if the jsonValue is null 
> before checking if the jsonValue has a null value.



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

Reply via email to