Kafka Streams с трассировкой Jaeger: headers () следует вызывать только во время обработки записи

Ссылаясь на ссылку (https://github.com/burkaa01/jaeger-tracing-kafka/tree/master/stream-app), создан конвейер потоков с включенным Jaeger.
Это приложение Springboot, но конфигурации bean-компонентов определены в XML-файле spring.
В рамках топологии потока при преобразовании при получении processorContext.headers () я получаю сообщение об ошибке. Stream pipeline работает, если jaeger отключен.
Также это работает, если bean-компоненты определены в аннотациях.
Рекомендованная JIRA, https://issues.apache.org/jira/browse/KAFKA-4344
Не понимая проблемы, вот стек ошибок для справки.

java.lang.IllegalStateException: This should not happen as headers() should only be called while a record is processed
    at org.apache.kafka.streams.processor.internals.AbstractProcessorContext.headers(AbstractProcessorContext.java:147)
    at com.hcl.nervIO.core.tracer.JaegerFilter.transform(JaegerFilter.java:34)
    at com.hcl.nervIO.core.tracer.JaegerFilter.transform(JaegerFilter.java:22)
    at org.apache.kafka.streams.kstream.internals.TransformerSupplierAdapter$1.transform(TransformerSupplierAdapter.java:47)
    at org.apache.kafka.streams.kstream.internals.TransformerSupplierAdapter$1.transform(TransformerSupplierAdapter.java:36)
    at org.apache.kafka.streams.kstream.internals.KStreamFlatTransform$KStreamFlatTransformProcessor.process(KStreamFlatTransform.java:56)
    at org.apache.kafka.streams.processor.internals.ProcessorNode.lambda$process$2(ProcessorNode.java:142)
    at org.apache.kafka.streams.processor.internals.metrics.StreamsMetricsImpl.maybeMeasureLatency(StreamsMetricsImpl.java:806)
    at org.apache.kafka.streams.processor.internals.ProcessorNode.process(ProcessorNode.java:142)
    at org.apache.kafka.streams.processor.internals.ProcessorContextImpl.forward(ProcessorContextImpl.java:201)
    at org.apache.kafka.streams.processor.internals.ProcessorContextImpl.forward(ProcessorContextImpl.java:180)

person Venkata Madhu    schedule 22.10.2020    source источник


Ответы (1)


ссылка на документацию по ссылке ниже помогла решить проблему. java.lang.IllegalStateException: этого не должно происходить поскольку headers () следует вызывать только во время обработки записи

person Venkata Madhu    schedule 29.10.2020