if object is a delete marker it must skip tags filter in ILM (#17861)

This commit is contained in:
Harshavardhana 2023-08-18 09:36:23 -07:00 committed by GitHub
parent 11dfc817f3
commit bc7c0d8624
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 2 deletions

View File

@ -136,6 +136,10 @@ Note: This rule has an implicit zero NoncurrentDays, which makes the expiry of t
This is available only on MinIO as an extension to the Expiration feature. The following rule makes it possible to remove all versions of an object under
the prefix `user-uploads/` as soon as the latest object satisfies the expiration criteria.
> NOTE: If the latest object is a delete marker then filtering based on `Filter.Tags` is ignored and
> if the DELETE marker modTime satisfies the `Expiration.Days` then all versions of the object are
> immediately purged.
```
{
"Rules": [

View File

@ -261,7 +261,7 @@ func (lc Lifecycle) FilterRules(obj ObjectOpts) []Rule {
if !strings.HasPrefix(obj.Name, rule.GetPrefix()) {
continue
}
if !rule.Filter.TestTags(obj.UserTags) {
if !obj.DeleteMarker && !rule.Filter.TestTags(obj.UserTags) {
continue
}
rules = append(rules, rule)