diff --git a/raft/src/main/java/org/apache/kafka/raft/KafkaRaftClient.java b/raft/src/main/java/org/apache/kafka/raft/KafkaRaftClient.java index 24acb5ecdba76..180573d738b40 100644 --- a/raft/src/main/java/org/apache/kafka/raft/KafkaRaftClient.java +++ b/raft/src/main/java/org/apache/kafka/raft/KafkaRaftClient.java @@ -2448,7 +2448,7 @@ private static Registration unregister(Listener listener) { private final class ListenerContext implements CloseListener> { private final RaftClient.Listener listener; // This field is used only by the Raft IO thread - private LeaderAndEpoch lastFiredLeaderChange = new LeaderAndEpoch(OptionalInt.empty(), 0); + private LeaderAndEpoch lastFiredLeaderChange = LeaderAndEpoch.UNKNOWN; // These fields are visible to both the Raft IO thread and the listener // and are protected through synchronization on this ListenerContext instance diff --git a/raft/src/main/java/org/apache/kafka/raft/LeaderAndEpoch.java b/raft/src/main/java/org/apache/kafka/raft/LeaderAndEpoch.java index fee0c2feaf5c7..459fd30e82e25 100644 --- a/raft/src/main/java/org/apache/kafka/raft/LeaderAndEpoch.java +++ b/raft/src/main/java/org/apache/kafka/raft/LeaderAndEpoch.java @@ -22,6 +22,7 @@ public class LeaderAndEpoch { private final OptionalInt leaderId; private final int epoch; + public static final LeaderAndEpoch UNKNOWN = new LeaderAndEpoch(OptionalInt.empty(), 0); public LeaderAndEpoch(OptionalInt leaderId, int epoch) { this.leaderId = Objects.requireNonNull(leaderId);