faq java lang NoSuchFieldError LEADER_CHANGE_SCHEMA_HIGHEST_VERSION - padogrid/padogrid GitHub Wiki
I'm getting "java.lang.NoSuchFieldError: LEADER_CHANGE_SCHEMA_HIGHEST_VERSION" exception in the Confluent server log files during PadoGrid Kafka cluster startup.
Kafka servers log the following exception and fail to start.
java.lang.NoSuchFieldError: LEADER_CHANGE_SCHEMA_HIGHEST_VERSION
at org.apache.kafka.raft.LeaderState.appendLeaderChangeMessage(LeaderState.java:98)
at org.apache.kafka.raft.KafkaRaftClient.onBecomeLeader(KafkaRaftClient.java:437)
at org.apache.kafka.raft.KafkaRaftClient.maybeTransitionToLeader(KafkaRaftClient.java:451)
at org.apache.kafka.raft.KafkaRaftClient.handleVoteResponse(KafkaRaftClient.java:618)
at org.apache.kafka.raft.KafkaRaftClient.handleResponse(KafkaRaftClient.java:1551)
at org.apache.kafka.raft.KafkaRaftClient.handleInboundMessage(KafkaRaftClient.java:1673)
at org.apache.kafka.raft.KafkaRaftClient.poll(KafkaRaftClient.java:2249)
at kafka.raft.KafkaRaftManager$RaftIoThread.doWork(RaftManager.scala:53)
at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:96)
This occurs when you have a Kafka client version that is not compatible with the Confluent client version. Confluent is a few versions behind Kafka OSS and still undergoing many changes as of writing (10/26/22), which may introduce incompatibility issues. This particular problem is seen when you have kafka-clients-*.jar
in the front of the Confluent class path. Removing it from the class path will rid the exception.
As a best practice, when you start Confluent or Kafka, do not mix their jar files. Confluent tends to be a bit behind in versions which may lead to problems like this.