Browse Source

filer delete meta and data

pull/7426/head
Konstantin Lebedev 2 months ago
parent
commit
6a0d1e0b6f
  1. 7
      weed/filer/filer.go
  2. 3
      weed/server/filer_server_handlers_write.go

7
weed/filer/filer.go

@ -354,6 +354,9 @@ func (f *Filer) FindEntry(ctx context.Context, p util.FullPath) (entry *Entry, e
if entry.IsExpireS3Enabled() {
if entry.GetS3ExpireTime().Before(time.Now()) {
f.Store.DeleteOneEntry(ctx, entry)
if delErr := f.doDeleteEntryMetaAndData(ctx, entry, false, true, nil); delErr != nil {
glog.ErrorfCtx(ctx, "FindEntry doDeleteEntryMetaAndData %s failed: %v", entry.FullPath, delErr)
}
return nil, filer_pb.ErrNotFound
}
} else if entry.Crtime.Add(time.Duration(entry.TtlSec) * time.Second).Before(time.Now()) {
@ -374,7 +377,9 @@ func (f *Filer) doListDirectoryEntries(ctx context.Context, p util.FullPath, sta
if entry.TtlSec > 0 {
if entry.IsExpireS3Enabled() {
if entry.GetS3ExpireTime().Before(time.Now()) {
f.Store.DeleteOneEntry(ctx, entry)
if delErr := f.doDeleteEntryMetaAndData(ctx, entry, false, true, nil); delErr != nil {
glog.ErrorfCtx(ctx, "doListDirectoryEntries doDeleteEntryMetaAndData %s failed: %v", entry.FullPath, delErr)
}
return true
}
} else if entry.Crtime.Add(time.Duration(entry.TtlSec) * time.Second).Before(time.Now()) {

3
weed/server/filer_server_handlers_write.go

@ -98,8 +98,9 @@ func (fs *FilerServer) PostHandler(w http.ResponseWriter, r *http.Request, conte
}
return
}
// Disable TTL-based (creation time) deletion when S3 expiry (modification time) is enabled
if so.TtlSeconds > 0 {
if S3expiresEnabled := r.Header.Get(s3_constants.SeaweedFSExpiresS3); S3expiresEnabled != "" {
if s3ExpiresValue := r.Header.Get(s3_constants.SeaweedFSExpiresS3); s3ExpiresValue == "true" {
so.TtlSeconds = 0
}
}

Loading…
Cancel
Save