From df619ec3f60f066fa90c7e13794871a679d4e8ee Mon Sep 17 00:00:00 2001 From: Lars Lehtonen Date: Tue, 7 Apr 2026 14:59:01 -0700 Subject: [PATCH] fix(weed/filer/redis2): fix dropped error (#8952) * fix(weed/filer/redis2): fix dropped error * fix(weed/filer/redis2): break on non-ErrNotFound errors in ListDirectoryEntries Without the break, a hard FindEntry error gets overwritten by subsequent iterations and the function may return nil, silently losing the error. --------- Co-authored-by: Chris Lu --- weed/filer/redis2/universal_redis_store.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/weed/filer/redis2/universal_redis_store.go b/weed/filer/redis2/universal_redis_store.go index a8429a764..776952fc4 100644 --- a/weed/filer/redis2/universal_redis_store.go +++ b/weed/filer/redis2/universal_redis_store.go @@ -197,15 +197,18 @@ func (store *UniversalRedis2Store) ListDirectoryEntries(ctx context.Context, dir } // fetch entry meta + var entry *filer.Entry for _, fileName := range members { path := util.NewFullPath(string(dirPath), fileName) - entry, err := store.FindEntry(ctx, path) + entry, err = store.FindEntry(ctx, path) lastFileName = fileName if err != nil { glog.V(0).InfofCtx(ctx, "list %s : %v", path, err) if err == filer_pb.ErrNotFound { + err = nil continue } + break } else { if entry.TtlSec > 0 { if entry.Attr.Crtime.Add(time.Duration(entry.TtlSec) * time.Second).Before(time.Now()) {