diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LongHierarchicalLedgerManager.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LongHierarchicalLedgerManager.java index 484b75965bd..e0b62857e1b 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LongHierarchicalLedgerManager.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LongHierarchicalLedgerManager.java @@ -230,7 +230,8 @@ synchronized private void initialize(String path, int level) throws KeeperExcept } } String curLNode = curLevelNodes.get(level); - if (curLNode != null) { + // If no level 3 nodes are present then go to the next node in level 2 + if (curLNode != null || moveToNext(level)) { // Traverse down through levels 0-3 // The nextRange becomes a listing of the children // in the level4 directory.