Ваше наблюдение верно.До Kafka 1.1 Kafka Streams удаляет заголовки записей.
Добавлена поддержка заголовков записей в (готовящейся к выпуску) Kafka 2.0, позволяющей читать и изменять заголовки с помощью Processor API (см. https://issues.apache.org/jira/browse/KAFKA-6850). с KAFKA-6850, заголовки записи также будут сохраняться (то есть автоматически пересылаться), если используется DSL.
Упомянутая проблема KAFKA-5632 касается заголовка манипуляции на уровне DSL, который все ещене поддерживается в Kafka 2.0.
Чтобы манипулировать заголовками с помощью DSL в Kafka 2.0, вы можете смешивать и сопоставлять API процессоров в DSL, используя KStream#transformValues()
, #transform()
или #process()
.