Skip to content

Commit fd48774

Browse files
committed
address comment
1 parent 1e68b3f commit fd48774

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerOpenOp.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,11 @@ private void openWithMetadata(Versioned<LedgerMetadata> versionedMetadata) {
195195
}
196196

197197
// get the ledger metadata back
198-
final boolean watchImmediately = !doRecovery || metadata.isClosed();
198+
// The cases that need to register listener immediately are:
199+
// 1. The ledger is not in recovery opening, which is the original case.
200+
// 2. The ledger is closed and need to keep update metadata. There is other cases that do not need to
201+
// register listener. e.g. The ledger is opening by Auto-Recovery component.
202+
final boolean watchImmediately = !doRecovery || (keepUpdateMetadata && metadata.isClosed());
199203
try {
200204
// The ledger metadata may be modified even if it has been closed, because the auto-recovery component may
201205
// rewrite the ledger's metadata. Keep receiving a notification from ZK to avoid the following issue: an

0 commit comments

Comments
 (0)