[#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 multipartCreationEpoch+multipartDuration >= ni.CurrentEpoch()
|
||||
return multipartCreationEpoch+multipartDuration <= ni.CurrentEpoch()
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
|
|
@ -367,6 +367,36 @@ func TestExecutorMultipleRulesMultiparts(t *testing.T) {
|
|||
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 {
|
||||
return &val
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue