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

@ -134,7 +134,11 @@ Note: This rule has an implicit zero NoncurrentDays, which makes the expiry of t
#### 3.2.b Automatic removal of all versions (MinIO only extension)
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.
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.
```
{

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)