This is an automated email from the ASF dual-hosted git repository.

tbonelee pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zeppelin.git


The following commit(s) were added to refs/heads/master by this push:
     new 74b51b28d6 [ZEPPELIN-5658] Fix infinite recursion in 
AzureNotebookRepo.list()
74b51b28d6 is described below

commit 74b51b28d6f3c1c170f44822beadba299df9a959
Author: Yerin Lee <[email protected]>
AuthorDate: Sun Oct 4 00:25:31 2026 +0900

    [ZEPPELIN-5658] Fix infinite recursion in AzureNotebookRepo.list()
    
    ### What is this PR for?
      Fix infinite recursion (`StackOverflowError`) in 
`AzureNotebookRepo.list()` when notebooks are stored in subdirectories. The 
private `list(CloudFileDirectory folder)` method was iterating over `rootDir` 
instead of the `folder` parameter, causing the recursive call to never descend 
and loop infinitely.
    
      ### What type of PR is it?
      Bug Fix
    
      ### Todos
      * [x] - Fix `rootDir` → `folder` in `AzureNotebookRepo.list()`
    
      ### What is the Jira issue?
      * https://issues.apache.org/jira/browse/ZEPPELIN-5658
    
      ### How should this be tested?
      * No existing unit tests (Azure infrastructure dependency)
      * The fix is a single-variable change correcting a clear copy-paste error 
where the method parameter was completely ignored
      * Manual test: deploy Zeppelin with Azure Storage backend, create 
notebooks in subdirectories, and verify they persist across restarts without 
`StackOverflowError`
    
      ### Screenshots (if appropriate)
      N/A
    
      ### Questions:
      * Does the license files need to update? No
      * Is there breaking changes for older versions? No
      * Does this needs documentation? No
    
    Closes #5522 from 
yxinot/ZEPPELIN-5658-fix-azure-notebook-repo-infinite-recursion.
    
    Signed-off-by: ChanHo Lee <[email protected]>
---
 .../main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/zeppelin-plugins/notebookrepo/azure/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java
 
b/zeppelin-plugins/notebookrepo/azure/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java
index 72ecc47c63..c9206fc66c 100644
--- 
a/zeppelin-plugins/notebookrepo/azure/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java
+++ 
b/zeppelin-plugins/notebookrepo/azure/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java
@@ -87,7 +87,7 @@ public class AzureNotebookRepo extends AbstractNotebookRepo {
 
   private Map<String, NoteInfo> list(CloudFileDirectory folder) throws 
IOException {
     Map<String, NoteInfo> notesInfo = new HashMap<>();
-    for (ListFileItem item : rootDir.listFilesAndDirectories()) {
+    for (ListFileItem item : folder.listFilesAndDirectories()) {
       if (item instanceof CloudFileDirectory) {
         CloudFileDirectory dir = (CloudFileDirectory) item;
         notesInfo.putAll(list(dir));

Reply via email to