Fix duplicate map allocation

This commit is contained in:
Harshavardhana 2015-05-18 13:14:01 -07:00
parent 8ce44bfbd1
commit 3d61ba5930
2 changed files with 3 additions and 20 deletions

View File

@ -295,14 +295,7 @@ func (memory *memoryDriver) createObject(bucket, key, contentType, expectedMD5Su
}
memory.lock.Lock()
memoryObject := make(map[string]drivers.ObjectMetadata)
switch {
case len(storedBucket.objectMetadata) == 0:
storedBucket.objectMetadata = memoryObject
storedBucket.objectMetadata[objectKey] = newObject
default:
storedBucket.objectMetadata[objectKey] = newObject
}
memory.storedBuckets[bucket] = storedBucket
memory.lock.Unlock()
return newObject.Md5, nil
@ -336,6 +329,7 @@ func (memory *memoryDriver) CreateBucket(bucketName, acl string) error {
var newBucket = storedBucket{}
newBucket.objectMetadata = make(map[string]drivers.ObjectMetadata)
newBucket.multiPartSession = make(map[string]multiPartSession)
newBucket.partMetadata = make(map[string]drivers.PartMetadata)
newBucket.bucketMetadata = drivers.BucketMetadata{}
newBucket.bucketMetadata.Name = bucketName
newBucket.bucketMetadata.Created = time.Now().UTC()

View File

@ -24,7 +24,6 @@ import (
"encoding/hex"
"errors"
"io"
"log"
"math/rand"
"runtime/debug"
"sort"
@ -192,14 +191,7 @@ func (memory *memoryDriver) createObjectPart(bucket, key, uploadID string, partI
}
memory.lock.Lock()
memoryPart := make(map[string]drivers.PartMetadata)
switch {
case len(storedBucket.partMetadata) == 0:
storedBucket.partMetadata = memoryPart
storedBucket.partMetadata[partKey] = newPart
default:
storedBucket.partMetadata[partKey] = newPart
}
multiPartSession := storedBucket.multiPartSession[key]
multiPartSession.totalParts++
storedBucket.multiPartSession[key] = multiPartSession
@ -398,9 +390,6 @@ func (memory *memoryDriver) ListObjectParts(bucket, key string, resources driver
}
func (memory *memoryDriver) expiredPart(a ...interface{}) {
cacheStats := memory.multiPartObjects.Stats()
log.Printf("CurrentSize: %d, CurrentItems: %d, TotalExpirations: %d",
cacheStats.Bytes, cacheStats.Items, cacheStats.Expired)
key := a[0].(string)
// loop through all buckets
for _, storedBucket := range memory.storedBuckets {