diff options
| author | chrislu <chris.lu@gmail.com> | 2025-11-05 22:26:30 -0800 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2025-11-05 22:26:30 -0800 |
| commit | 36ddaaaf9120d95b722413b2dba4b986ff110e73 (patch) | |
| tree | 8162a1df0aea1484af62e9a37aaef66fc76ff9cd | |
| parent | 4b12262431b9a6921a6c803e20c168a1a9735c25 (diff) | |
| download | seaweedfs-36ddaaaf9120d95b722413b2dba4b986ff110e73.tar.xz seaweedfs-36ddaaaf9120d95b722413b2dba4b986ff110e73.zip | |
not return entry if failed to delete
| -rw-r--r-- | weed/filer/filer.go | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/weed/filer/filer.go b/weed/filer/filer.go index cc7f6a336..36273afff 100644 --- a/weed/filer/filer.go +++ b/weed/filer/filer.go @@ -355,16 +355,16 @@ func (f *Filer) FindEntry(ctx context.Context, p util.FullPath) (entry *Entry, e if entry.GetS3ExpireTime().Before(time.Now()) && !entry.IsS3Versioning() { if delErr := f.doDeleteEntryMetaAndData(ctx, entry, true, false, nil); delErr != nil { glog.ErrorfCtx(ctx, "FindEntry doDeleteEntryMetaAndData %s failed: %v", entry.FullPath, delErr) - // Deletion failed - return entry as still existing rather than claiming it's gone - return entry, nil + // Return error to prevent serving expired content (safer than returning the entry) + return nil, fmt.Errorf("failed to delete expired entry %s: %w", entry.FullPath, delErr) } return nil, filer_pb.ErrNotFound } } else if entry.Crtime.Add(time.Duration(entry.TtlSec) * time.Second).Before(time.Now()) { if delErr := f.Store.DeleteOneEntry(ctx, entry); delErr != nil { glog.ErrorfCtx(ctx, "FindEntry DeleteOneEntry %s failed: %v", entry.FullPath, delErr) - // Deletion failed - return entry as still existing rather than claiming it's gone - return entry, nil + // Return error to prevent serving expired content (safer than returning the entry) + return nil, fmt.Errorf("failed to delete expired entry %s: %w", entry.FullPath, delErr) } return nil, filer_pb.ErrNotFound } |
