-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Issue submitter TODO list
- I've looked up my issue in FAQ
- I've searched for an already existing issues here
- I've tried running
master
-labeled docker image and the issue still persists there - I'm running a supported version of the application which is listed here
Describe the bug (actual behavior)
When ConsumerRecordDeserializer invoke Serde.Deserializer.deserialize, it pass in an empty list of RecordHeader instead of the actual RecordHeaders
var deserResult = keyDeserializer.deserialize(new RecordHeadersImpl(), rec.key().get())
My custom Serde require the record headers to find the encoding schema from our schema registry.
Expected behavior
ConsumerRecordDeserializer should pass the record headers to the deserialize function like what it does when deserializing values.
var deserResult = keyDeserializer.deserialize(new RecordHeadersImpl(rec.headers()), rec.key().get())
Your installation details
I reference the master branch code above:
kafka-ui/kafka-ui-api/src/main/java/com/provectus/kafka/ui/serdes/ConsumerRecordDeserializer.java
Line 81 in 83b5a60
var deserResult = keyDeserializer.deserialize(new RecordHeadersImpl(), rec.key().get()); |
Steps to reproduce
Problem should be obvious from the actual source code quoted above.
Screenshots
No response
Logs
No response
Additional context
My custom Serde cannot deserialize record key without information in the record headers.