Skip to content

Commit 2b9111f

Browse files
Merge pull request #846 from versity/fix/versioning-delete-object-del-marker-header
fix: Added DeleteMarker to the DeleteObject action response when atte…
2 parents 9221a13 + 8574a4c commit 2b9111f

File tree

2 files changed

+21
-12
lines changed

2 files changed

+21
-12
lines changed

backend/posix/posix.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -2187,7 +2187,8 @@ func (p *Posix) DeleteObject(ctx context.Context, input *s3.DeleteObjectInput) (
21872187
}
21882188

21892189
return &s3.DeleteObjectOutput{
2190-
VersionId: &versionId,
2190+
DeleteMarker: getBoolPtr(true),
2191+
VersionId: &versionId,
21912192
}, nil
21922193
} else {
21932194
versionPath := p.genObjVersionPath(bucket, object)
@@ -2401,11 +2402,10 @@ func (p *Posix) DeleteObjects(ctx context.Context, input *s3.DeleteObjectsInput)
24012402
delEntity := types.DeletedObject{
24022403
Key: obj.Key,
24032404
DeleteMarker: res.DeleteMarker,
2405+
VersionId: obj.VersionId,
24042406
}
24052407
if delEntity.DeleteMarker != nil && *delEntity.DeleteMarker {
24062408
delEntity.DeleteMarkerVersionId = res.VersionId
2407-
} else {
2408-
delEntity.VersionId = res.VersionId
24092409
}
24102410

24112411
delResult = append(delResult, delEntity)

tests/integration/tests.go

+18-9
Original file line numberDiff line numberDiff line change
@@ -10950,6 +10950,9 @@ func Versioning_DeleteObject_delete_a_delete_marker(s *S3Conf) error {
1095010950
return err
1095110951
}
1095210952

10953+
if out.DeleteMarker == nil || !*out.DeleteMarker {
10954+
return fmt.Errorf("expected the response DeleteMarker to be true")
10955+
}
1095310956
if out.VersionId == nil || *out.VersionId == "" {
1095410957
return fmt.Errorf("expected non empty versionId")
1095510958
}
@@ -11019,14 +11022,17 @@ func Versioning_DeleteObjects_success(s *S3Conf) error {
1101911022

1102011023
delResult := []types.DeletedObject{
1102111024
{
11022-
Key: obj1Version[0].Key,
11023-
VersionId: obj1Version[0].VersionId,
11025+
Key: obj1Version[0].Key,
11026+
VersionId: obj1Version[0].VersionId,
11027+
DeleteMarker: getBoolPtr(false),
1102411028
},
1102511029
{
11026-
Key: obj2Version[0].Key,
11030+
Key: obj2Version[0].Key,
11031+
DeleteMarker: getBoolPtr(true),
1102711032
},
1102811033
{
11029-
Key: obj3Version[0].Key,
11034+
Key: obj3Version[0].Key,
11035+
DeleteMarker: getBoolPtr(true),
1103011036
},
1103111037
}
1103211038

@@ -11054,15 +11060,14 @@ func Versioning_DeleteObjects_success(s *S3Conf) error {
1105411060
{
1105511061
IsLatest: getBoolPtr(true),
1105611062
Key: out.Deleted[1].Key,
11057-
VersionId: out.Deleted[1].VersionId,
11063+
VersionId: out.Deleted[1].DeleteMarkerVersionId,
1105811064
},
1105911065
{
1106011066
IsLatest: getBoolPtr(true),
1106111067
Key: out.Deleted[2].Key,
11062-
VersionId: out.Deleted[2].VersionId,
11068+
VersionId: out.Deleted[2].DeleteMarkerVersionId,
1106311069
},
1106411070
}
11065-
1106611071
if !compareVersions(versions, res.Versions) {
1106711072
return fmt.Errorf("expected the resulting versions to be %v, instead got %v", versions, res.Versions)
1106811073
}
@@ -11109,10 +11114,12 @@ func Versioning_DeleteObjects_delete_deleteMarkers(s *S3Conf) error {
1110911114

1111011115
delResult := []types.DeletedObject{
1111111116
{
11112-
Key: obj1Version[0].Key,
11117+
Key: obj1Version[0].Key,
11118+
DeleteMarker: getBoolPtr(true),
1111311119
},
1111411120
{
11115-
Key: obj2Version[0].Key,
11121+
Key: obj2Version[0].Key,
11122+
DeleteMarker: getBoolPtr(true),
1111611123
},
1111711124
}
1111811125

@@ -11152,11 +11159,13 @@ func Versioning_DeleteObjects_delete_deleteMarkers(s *S3Conf) error {
1115211159
Key: out.Deleted[0].Key,
1115311160
DeleteMarker: getBoolPtr(true),
1115411161
DeleteMarkerVersionId: out.Deleted[0].VersionId,
11162+
VersionId: out.Deleted[0].VersionId,
1115511163
},
1115611164
{
1115711165
Key: out.Deleted[1].Key,
1115811166
DeleteMarker: getBoolPtr(true),
1115911167
DeleteMarkerVersionId: out.Deleted[1].VersionId,
11168+
VersionId: out.Deleted[1].VersionId,
1116011169
},
1116111170
}
1116211171

0 commit comments

Comments
 (0)