[#16] executor: Fix multipart expiration condition
Wrong comparison operator was used. Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
This commit is contained in:
parent
ba26d975e0
commit
c9011f6da2
2 changed files with 31 additions and 1 deletions
|
@ -257,7 +257,7 @@ func (e *Executor) matchMultipartByRuleFn(ni *netmap.NetworkInfo, rule data.Life
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
return multipartCreationEpoch+multipartDuration >= ni.CurrentEpoch()
|
return multipartCreationEpoch+multipartDuration <= ni.CurrentEpoch()
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -367,6 +367,36 @@ func TestExecutorMultipleRulesMultiparts(t *testing.T) {
|
||||||
require.Equal(t, multiparts[0].Key, "obj1")
|
require.Equal(t, multiparts[0].Key, "obj1")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestExecutorAbortMultipartsInDays(t *testing.T) {
|
||||||
|
ec := newExecutorContext(t)
|
||||||
|
defer ec.cancel()
|
||||||
|
|
||||||
|
bktInfo, err := ec.createBktInfo(data.VersioningUnversioned)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
err = ec.tree.CreateMultipartUpload(ec.ctx, bktInfo, &data.MultipartInfo{Key: "obj1", UploadID: "upload1", Meta: map[string]string{}})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
lifecycleCfg := &data.LifecycleConfiguration{Rules: []data.LifecycleRule{{
|
||||||
|
Status: "Enabled",
|
||||||
|
AbortIncompleteMultipartUpload: &data.AbortIncompleteMultipartUpload{DaysAfterInitiation: ptrInt(1)},
|
||||||
|
ID: "for obj1",
|
||||||
|
}}}
|
||||||
|
|
||||||
|
ec.jobs <- Job{
|
||||||
|
ContainerID: bktInfo.CID,
|
||||||
|
PrivateKey: ec.key,
|
||||||
|
LifecycleConfiguration: lifecycleCfg,
|
||||||
|
Epoch: 1000,
|
||||||
|
}
|
||||||
|
|
||||||
|
ec.close()
|
||||||
|
|
||||||
|
multiparts, err := ec.tree.GetMultipartUploadsByPrefix(ec.ctx, bktInfo, "")
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Len(t, multiparts, 0)
|
||||||
|
}
|
||||||
|
|
||||||
func ptrUint64(val uint64) *uint64 {
|
func ptrUint64(val uint64) *uint64 {
|
||||||
return &val
|
return &val
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue