Skip to content

Commit e7aecae

Browse files
authored
Merge pull request #15 from sapcc/rate_limit
Don't delete failed upload caused by rate limit
2 parents 11dcb85 + 733335f commit e7aecae

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

pkg/objects/file.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,14 @@ func (f File) uploadNormalObject(body io.Reader, sourceState FileState, hdr swif
161161

162162
util.Log(util.LogError, "PUT %s/%s failed: %s", containerName, objectName, err.Error())
163163

164+
if serr, ok := err.(*swift.Error); ok {
165+
//upload failed due to rate limit, object is definitely not uploaded
166+
//prevent additional rate limit caused by an unnecessary delete request
167+
if serr.StatusCode == 498 {
168+
return false
169+
}
170+
}
171+
164172
//delete potentially incomplete upload
165173
err = f.Job.Target.Connection.ObjectDelete(containerName, objectName)
166174
if err != nil {

0 commit comments

Comments
 (0)