[#4] Don't check tags for multiparts
All checks were successful
/ DCO (pull_request) Successful in 1m7s
/ Vulncheck (pull_request) Successful in 1m16s
/ Builds (1.21) (pull_request) Successful in 1m24s
/ Builds (1.22) (pull_request) Successful in 1m20s
/ Lint (pull_request) Successful in 2m11s
/ Tests (1.21) (pull_request) Successful in 1m21s
/ Tests (1.22) (pull_request) Successful in 1m18s
All checks were successful
/ DCO (pull_request) Successful in 1m7s
/ Vulncheck (pull_request) Successful in 1m16s
/ Builds (1.21) (pull_request) Successful in 1m24s
/ Builds (1.22) (pull_request) Successful in 1m20s
/ Lint (pull_request) Successful in 2m11s
/ Tests (1.21) (pull_request) Successful in 1m21s
/ Tests (1.22) (pull_request) Successful in 1m18s
Spec https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-expire-mpu says: "When you use the AbortIncompleteMultipartUpload S3 Lifecycle action, the rule cannot specify a tag-based filter." Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
This commit is contained in:
parent
15c9d55b03
commit
127816c66a
1 changed files with 0 additions and 31 deletions
|
@ -244,10 +244,6 @@ func (e *Executor) matchMultipartByRuleFn(ni *netmap.NetworkInfo, rule data.Life
|
||||||
if filter.And != nil {
|
if filter.And != nil {
|
||||||
prefix = filter.And.Prefix
|
prefix = filter.And.Prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
if filter.Tag != nil || filter.And != nil {
|
|
||||||
matchMultipartByTags = matchMultipartByTagsFunc(filter)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return func(multipart *data.MultipartInfo) bool {
|
return func(multipart *data.MultipartInfo) bool {
|
||||||
|
@ -670,33 +666,6 @@ func versionCreationEpoch(version *data.NodeVersion, ni *netmap.NetworkInfo) (ui
|
||||||
return objCreationEpoch, nil
|
return objCreationEpoch, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func matchMultipartByTagsFunc(filter *data.LifecycleRuleFilter) func(*data.MultipartInfo) bool {
|
|
||||||
return func(info *data.MultipartInfo) bool {
|
|
||||||
tags := make(map[string]string)
|
|
||||||
for k, v := range info.Meta {
|
|
||||||
if strings.HasPrefix(k, tagPrefix) {
|
|
||||||
tags[k[len(tagPrefix):]] = v
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if filter.Tag != nil {
|
|
||||||
if tags[filter.Tag.Key] != filter.Tag.Value {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if filter.And != nil {
|
|
||||||
for _, tag := range filter.And.Tags {
|
|
||||||
if tags[tag.Key] != tag.Value {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (e *Executor) abortMultipart(ctx context.Context, bktInfo *data.BucketInfo, multipart *data.MultipartInfo) error {
|
func (e *Executor) abortMultipart(ctx context.Context, bktInfo *data.BucketInfo, multipart *data.MultipartInfo) error {
|
||||||
parts, err := e.tree.GetParts(ctx, bktInfo, multipart.ID)
|
parts, err := e.tree.GetParts(ctx, bktInfo, multipart.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in a new issue