Compare commits
2 commits
253d50637f
...
1d37df50fc
Author | SHA1 | Date | |
---|---|---|---|
1d37df50fc | |||
f53d68e68f |
2 changed files with 7 additions and 15 deletions
|
@ -153,18 +153,6 @@ func (c *Client) DeleteObjectVersion(bucket, key, version string) DeleteResponse
|
|||
VersionId: aws.String(version),
|
||||
})
|
||||
} else {
|
||||
v, err := c.cli.GetBucketVersioning(c.vu.Context(), &s3.GetBucketVersioningInput{
|
||||
Bucket: aws.String(bucket),
|
||||
})
|
||||
if err != nil {
|
||||
stats.Report(c.vu, objDeleteFails, 1)
|
||||
return DeleteResponse{Success: false, Error: err.Error()}
|
||||
}
|
||||
if v.Status == "" {
|
||||
// delete non-versioned object
|
||||
return c.Delete(bucket, key)
|
||||
}
|
||||
|
||||
versions, err := c.cli.ListObjectVersions(c.vu.Context(), &s3.ListObjectVersionsInput{
|
||||
Bucket: aws.String(bucket),
|
||||
Prefix: aws.String(key),
|
||||
|
@ -173,9 +161,11 @@ func (c *Client) DeleteObjectVersion(bucket, key, version string) DeleteResponse
|
|||
stats.Report(c.vu, objDeleteFails, 1)
|
||||
return DeleteResponse{Success: false, Error: err.Error()}
|
||||
}
|
||||
toDelete = append(toDelete, filterObjectVersions(versions, key)...)
|
||||
toDelete = filterObjectVersions(versions, key)
|
||||
}
|
||||
if len(toDelete) != 0 {
|
||||
if len(toDelete) == 0 {
|
||||
return c.Delete(bucket, key)
|
||||
} else {
|
||||
_, err := c.cli.DeleteObjects(c.vu.Context(), &s3.DeleteObjectsInput{
|
||||
Bucket: aws.String(bucket),
|
||||
Delete: &types.Delete{
|
||||
|
@ -203,6 +193,7 @@ func filterObjectVersions(versions *s3.ListObjectVersionsOutput, key string) []t
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
for _, marker := range versions.DeleteMarkers {
|
||||
if *marker.Key == key {
|
||||
result = append(result, types.ObjectIdentifier{
|
||||
|
@ -211,6 +202,7 @@ func filterObjectVersions(versions *s3.ListObjectVersionsOutput, key string) []t
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
|
|
|
@ -125,7 +125,7 @@ The tests will use all pre-created buckets for PUT operations and all pre-create
|
|||
$ ./scenarios/preset/preset_s3.py --size 1024 --buckets 1 --out s3_1024kb.json --endpoint host1:8084 --preload_obj 500 --location load-1-4
|
||||
```
|
||||
* '--location' - specify the name of container policy (from policy.json file). It's important to run 'aws configure' each time when the policy file has been changed to pick up the latest policies.
|
||||
|
||||
* '--buckets_versioned' - specify the percentage of versioned buckets from the total number of created buckets. Default is 0
|
||||
3. Execute scenario with options:
|
||||
|
||||
```shell
|
||||
|
|
Loading…
Add table
Reference in a new issue