diff --git a/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/ZKSessionWatcher.java b/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/ZKSessionWatcher.java index a840721023080..ac6c35c9b56c0 100644 --- a/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/ZKSessionWatcher.java +++ b/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/ZKSessionWatcher.java @@ -169,11 +169,12 @@ private synchronized void checkState(Watcher.Event.KeeperState zkClientState) { log.info("ZooKeeper client reconnection with server quorum. Current status: {}", currentStatus); disconnectedAt = 0; + SessionEvent previousStatus = currentStatus; + currentStatus = SessionEvent.SessionReestablished; sessionListener.accept(SessionEvent.Reconnected); - if (currentStatus == SessionEvent.SessionLost) { + if (previousStatus == SessionEvent.SessionLost) { sessionListener.accept(SessionEvent.SessionReestablished); } - currentStatus = SessionEvent.SessionReestablished; } break; }