Skip to content

Troubleshooting invalid lumberjack version

Why do that

  • The PunchPlatform log injector fails
  • The kafka spout fails

Kafka

By default, at punchplatform, the logs are encoded with lumberjack then stored in kafka.

If you are using other components or codes that write logs in kafka, the errors can appear :

13:01:54 c.t.s.c.p.c.n.i.NettyLumberjackDecoder [ERROR] message="invalid lumberjack version" received_version=91 supported_version=[1,2]
java.lang.IllegalArgumentException: decoded invalid lumberjack version
  at com.thales.services.cloudomc.punchplatform.commons.netty.impl.NettyLumberjackDecoder._decode(NettyLumberjackDecoder.java:175)
  at com.thales.services.cloudomc.punchplatform.commons.netty.impl.NettyLumberjackDecoder.decodeComplete(NettyLumberjackDecoder.java:109)
  at com.thales.services.cloudomc.punchplatform.log.injector.KafkaServer$1$1.onReceive(KafkaServer.java:143)
  at com.thales.services.cloudomc.punchplatform.kafka.consumer.impl.NonBatchingPartitionManager.processFetchedMessage(NonBatchingPartitionManager.java:91)
  at com.thales.services.cloudomc.punchplatform.kafka.consumer.impl.PartitionManager.fetch(PartitionManager.java:356)
  at com.thales.services.cloudomc.punchplatform.kafka.consumer.impl.ZkCoordinator.nextMessages(ZkCoordinator.java:704)
  at com.thales.services.cloudomc.punchplatform.kafka.consumer.impl.ElasticConsumer.nextMessages(ElasticConsumer.java:261)
  at com.thales.services.cloudomc.punchplatform.log.injector.KafkaServer$1.run(KafkaServer.java:131)
  at java.lang.Thread.run(Thread.java:748)

To fix the issue, please add the the following line in the kafka_spout settings:

"codec": "string"