aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/filer/filer.go8
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
}