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