Skip to content

Commit a16ca4f

Browse files
authored
Check s3 DeleteObjects response for errors (#18885)
1 parent cbc3083 commit a16ca4f

File tree

1 file changed

+8
-1
lines changed
  • components/content-service/pkg/storage

1 file changed

+8
-1
lines changed

components/content-service/pkg/storage/s3.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ func (rs *PresignedS3Storage) DeleteObject(ctx context.Context, bucket string, q
127127
return nil
128128
}
129129

130-
_, err := rs.client.DeleteObjects(ctx, &s3.DeleteObjectsInput{
130+
resp, err := rs.client.DeleteObjects(ctx, &s3.DeleteObjectsInput{
131131
Bucket: &rs.Config.Bucket,
132132
Delete: &types.Delete{
133133
Objects: objects,
@@ -137,6 +137,13 @@ func (rs *PresignedS3Storage) DeleteObject(ctx context.Context, bucket string, q
137137
if err != nil {
138138
return err
139139
}
140+
if len(resp.Errors) > 0 {
141+
var errs []string
142+
for _, e := range resp.Errors {
143+
errs = append(errs, fmt.Sprintf("%s: %s", aws.ToString(e.Key), aws.ToString(e.Message)))
144+
}
145+
return xerrors.Errorf("cannot delete objects: %s", strings.Join(errs, ", "))
146+
}
140147

141148
return nil
142149
}

0 commit comments

Comments
 (0)