日志现象
java.lang.IllegalArgumentException: Magic v1 does not support record headers
at org.apache.kafka.common.record.MemoryRecordsBuilder.appendWithOffset(MemoryRecordsBuilder.java:410)
at org.apache.kafka.common.record.MemoryRecordsBuilder.appendWithOffset(MemoryRecordsBuilder.java:449)
at org.apache.kafka.common.record.MemoryRecordsBuilder.append(MemoryRecordsBuilder.java:506)
at org.apache.kafka.common.record.MemoryRecordsBuilder.append(MemoryRecordsBuilder.java:529)
at org.apache.kafka.clients.producer.internals.ProducerBatch.tryAppend(ProducerBatch.java:107)
at org.apache.kafka.clients.producer.internals.RecordAccumulator.append(RecordAccumulator.java:223)
at org.apache.kafka.clients.producer.KafkaProducer.doSend$original$49W0MjDt(KafkaProducer.java:864)
at org.apache.kafka.clients.producer.KafkaProducer.doSend$original$49W0MjDt$accessor$sAU9JM4M(KafkaProducer.java)
at org.apache.kafka.clients.producer.KafkaProducer$auxiliary$4dlIPi13.call(Unknown Source)
at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInterWithOverrideArgs.intercept(InstMethodsInterWithOverrideArgs.java:85)
根因分析
由于Skywalking的链路相关信息是通过修改请求Header传递的,而Kafka在0.11版本以下对修改Header不支持的。
解决方案
1、升级kafka server到0.11.x及以上版本;
2、将Skywalking的Agent中关于Kafka的插件移除,但是这样就会带来一个问题,那就是kafka上下游的服务链路不能串起来了;
3、移除Skywalking。