-
Notifications
You must be signed in to change notification settings - Fork 1
faq java lang NoSuchFieldError LEADER_CHANGE_SCHEMA_HIGHEST_VERSION
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.
PadoGrid Manual
Overview
- Home
- PadoGrid in 5 Minutes
- Quick Start
- Introduction
- Bundle Catalogs
- Building PadoGrid
- Supported Data Grid Products and Downloads
- PadoGrid Components
- Installing PadoGrid
- Root Workspaces Environments (RWEs)
- Initializing PadoGrid
- Bash Auto-Completion
- Viewing PadoGrid Summaries
- Updating Products
- Upgrading PadoGrid
- Migrating Workspaces
- PadoGrid Pods
- Kubernetes
- Docker
- Apps
- Software List
Operations
- Workspace Lifecycle Management
- Creating RWE
- Creating Workspace and Starting Cluster
- Managing Workspaces
- Understanding Workspaces
- Understanding Clusters
- Running Clusters
- Default Port Numbers
- Running Clusters Independent of PadoGrid
- Running Apps
- Understanding Groups
- Running Groups
- Understanding Bundles
- User Bundle Repos
- Using Bundle Templates
- Bundle Repo Guidelines
- User Bundle Catalogs
- Private Bundle Repos
- Gitea Repos
- Running Bundles in Container
- PadoGrid Addon Jars
- Understanding PadoGrid Pods
- Tested Vagrant Boxes
- VM-Enabled Pods
- Multitenancy
- Multitenancy Best Practices
- PadoGrid Configuration Files
Tools
Platforms
Clouds
Pado
Geode/GemFire
- Geode CLASSPATH
- Geode Kubernetes
- Geode Minikube
- Geode Minikube on WSL
- Geode Docker Compose
- Geode Grafana App
- Geode
perf_test
App - Geode WAN Example
- Geode Workspaces on VMs
- Geode on AWS EC2
- Reactivating Geode Workspaces on AWS EC2
Hazelcast/Jet
- Hazelcast CLASSPATH
- Creating Jet Workspace
- Configuring Hazelcast Addon
- HQL Query
- Hazelcast Kubernetes
- Hazelcast GKE
- Hazelcast Minikube
- Hazelcast Minikube on WSL
- Hazelcast Minishift/CDK
- Hazelcast OpenShift
- Hazelcast Docker Compose
- Hazelcast Desktop App
- Hazelcast Grafana App
- Hazelcast
jet_demo
App - Hazelcast
perf_test
App - Hazelcast WAN Example
- Hazelcast Workspaces on VMs
- Hazelcast on AWS EC2
- Reactivating Hazelcast Workspaces on AWS EC2
ComputeDB/SnappyData
Coherence
Hadoop
Kafka/Confluent
Mosquitto
- Mosquitto CLASSPATH
- Mosquitto Overview
- Installing/Building Mosquitto
- Clustering MQTT
- Cluster Archetypes
- Enabling Mosquitto SSL/TLS
- Mosquitto Docker Compose
- MQTT perf_test App
Redis
Spark