WriteObject() encoded data in go routine, fix another multipart issue

This commit is contained in:
Harshavardhana
2015-07-13 14:20:26 -07:00
parent 70e56dc594
commit 634f70f3b0
2 changed files with 16 additions and 7 deletions
+4 -4
View File
@@ -281,12 +281,12 @@ func (donut API) CompleteMultipartUpload(bucket, key, uploadID string, data io.R
}
var size int64
var fullObject bytes.Buffer
for i := 1; i <= len(parts.Part); i++ {
recvMD5 := parts.Part[i-1].ETag
object, ok := donut.multiPartObjects[uploadID].Get(parts.Part[i-1].PartNumber)
for i := 0; i < len(parts.Part); i++ {
recvMD5 := parts.Part[i].ETag
object, ok := donut.multiPartObjects[uploadID].Get(parts.Part[i].PartNumber)
if ok == false {
donut.lock.Unlock()
return ObjectMetadata{}, iodine.New(errors.New("missing part: "+strconv.Itoa(i)), nil)
return ObjectMetadata{}, iodine.New(errors.New("missing part: "+strconv.Itoa(parts.Part[i].PartNumber)), nil)
}
size += int64(len(object))
calcMD5Bytes := md5.Sum(object)