From 2d68ae5b1883d5ffc40c0897cd20428b4df89d02 Mon Sep 17 00:00:00 2001 From: Niket Goel Date: Mon, 8 Nov 2021 13:06:04 -0800 Subject: [PATCH] MINOR: Adding a constant to denote UNKNOWN leader in LeaderAndEpoch --- raft/src/main/java/org/apache/kafka/raft/KafkaRaftClient.java | 2 +- raft/src/main/java/org/apache/kafka/raft/LeaderAndEpoch.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) 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);