-
Notifications
You must be signed in to change notification settings - Fork 1.7k
NullPointerException in AbstractKafkaHeaderMapper #3581
Copy link
Copy link
Closed
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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Type
Fields
Give feedbackNo fields configured for issues without a type.