From 92525d78cea51d2a4d45a223a346838d5638d148 Mon Sep 17 00:00:00 2001 From: chrislu Date: Wed, 5 Nov 2025 13:38:40 -0800 Subject: [PATCH] stop a gRPC stream from the client-side callback is to return a specific error, e.g., io.EOF --- weed/s3api/s3api_object_handlers_delete.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/weed/s3api/s3api_object_handlers_delete.go b/weed/s3api/s3api_object_handlers_delete.go index fcaac5da0..5369aaa5b 100644 --- a/weed/s3api/s3api_object_handlers_delete.go +++ b/weed/s3api/s3api_object_handlers_delete.go @@ -417,10 +417,10 @@ func deleteEmptyParentDirectories(client filer_pb.SeaweedFilerClient, dirPath ut isEmpty := true err := filer_pb.SeaweedList(ctx, client, string(dirPath), "", func(entry *filer_pb.Entry, isLast bool) error { isEmpty = false - return nil + return io.EOF // Use sentinel error to explicitly stop iteration }, "", false, 1) - if err != nil { + if err != nil && err != io.EOF { glog.V(3).Infof("deleteEmptyParentDirectories: error checking %s: %v", dirPath, err) return }