-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Milestone
Description
In what version(s) of Spring for Apache Kafka are you seeing this issue?
3.2.4
Describe the bug
When we updated Spring Boot to latest RELEASE version we started to get NullPointerException from our listener.
I am unable to find out what triggered this, but is happening when there is in ConsumerRecord some RecordHeader with null value.

This is probably bug in our custom application, but I think Spring Kafka header mapper should handle such cases in better way other than to throw NPE.
Caused by: java.lang.NullPointerException: Cannot read the array length because "bytes" is null
at java.base/java.lang.String.<init>(String.java:1425)
at org.springframework.kafka.support.AbstractKafkaHeaderMapper.mapRawIn(AbstractKafkaHeaderMapper.java:281)
at org.springframework.kafka.support.AbstractKafkaHeaderMapper.headerValueToAddIn(AbstractKafkaHeaderMapper.java:270)
at org.springframework.kafka.support.DefaultKafkaHeaderMapper.lambda$toHeaders$2(DefaultKafkaHeaderMapper.java:328)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at org.springframework.kafka.support.DefaultKafkaHeaderMapper.toHeaders(DefaultKafkaHeaderMapper.java:310)
at org.springframework.kafka.support.converter.MessagingMessageConverter.mapOrAddHeaders(MessagingMessageConverter.java:206)
at org.springframework.kafka.support.converter.MessagingMessageConverter.toMessage(MessagingMessageConverter.java:184)
at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.toMessagingMessage(MessagingMessageListenerAdapter.java:377)
at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:77)
at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:50)
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2800)
... 13 common frames omitted