aboutsummaryrefslogtreecommitdiff
path: root/weed/filer/mongodb/mongodb_store.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/filer/mongodb/mongodb_store.go')
-rw-r--r--weed/filer/mongodb/mongodb_store.go14
1 files changed, 11 insertions, 3 deletions
diff --git a/weed/filer/mongodb/mongodb_store.go b/weed/filer/mongodb/mongodb_store.go
index 21463dc32..f87878f08 100644
--- a/weed/filer/mongodb/mongodb_store.go
+++ b/weed/filer/mongodb/mongodb_store.go
@@ -319,14 +319,22 @@ func (store *MongodbStore) ListDirectoryPrefixedEntries(ctx context.Context, dir
break
}
- if !eachEntryFunc(entry) {
+ resEachEntryFunc, resEachEntryFuncErr := eachEntryFunc(entry)
+ if resEachEntryFuncErr != nil {
+ err = fmt.Errorf("failed to process eachEntryFunc: %w", resEachEntryFuncErr)
break
}
+ if !resEachEntryFunc {
+ break
+ }
}
- if err := cur.Close(ctx); err != nil {
- glog.V(0).InfofCtx(ctx, "list iterator close: %v", err)
+ if errClose := cur.Close(ctx); errClose != nil {
+ glog.V(0).InfofCtx(ctx, "list iterator close: %v", errClose)
+ if err == nil {
+ return lastFileName, errClose
+ }
}
return lastFileName, err