Skip to content

Commit

Permalink
Merge pull request #113 from dlarson04/Issue_112
Browse files Browse the repository at this point in the history
Issue 112 - Fix change for issue 110
  • Loading branch information
linggao authored Apr 12, 2022
2 parents 3b79c8d + 9491b16 commit 23e68ea
Showing 1 changed file with 21 additions and 17 deletions.
38 changes: 21 additions & 17 deletions core/storage/mongoStorage.go
Original file line number Diff line number Diff line change
Expand Up @@ -1164,28 +1164,32 @@ func (store *MongoStorage) RetrieveObjectTempData(orgID string, objectType strin
var offset int64 = 0
chunkNumber := 1

for offset < metaData.ObjectSize {
// Will be 0 if data was uploaded with streaming
if metaData.UploadChunkSize > 0 {

id := createTempObjectCollectionID(orgID, objectType, objectID, chunkNumber)
if trace.IsLogging(logger.TRACE) {
trace.Trace(fmt.Sprintf("RetrieveObjectTempData for org - %s, type - %s, id - %s, chunkNum - %d", orgID, objectType, objectID, chunkNumber))
}
fileHandle, err := store.retrieveObjectTempData(id)
if err != nil {
return nil, &Error{fmt.Sprintf("Error in retrieving objects chunk data. Error: %s.\n", err)}
}
for offset < metaData.ObjectSize {

if fileHandle != nil {
// Store the fileHandle so we can delete it when done; needed for RemoveObjectTempData
store.putFileHandle(id, fileHandle)
readers = append(readers, fileHandle.file)
}
id := createTempObjectCollectionID(orgID, objectType, objectID, chunkNumber)
if trace.IsLogging(logger.TRACE) {
trace.Trace(fmt.Sprintf("RetrieveObjectTempData for org - %s, type - %s, id - %s, chunkNum - %d", orgID, objectType, objectID, chunkNumber))
}
fileHandle, err := store.retrieveObjectTempData(id)
if err != nil {
return nil, &Error{fmt.Sprintf("Error in retrieving objects chunk data. Error: %s.\n", err)}
}

chunkNumber += 1
offset += metaData.UploadChunkSize
if fileHandle != nil {
// Store the fileHandle so we can delete it when done; needed for RemoveObjectTempData
store.putFileHandle(id, fileHandle)
readers = append(readers, fileHandle.file)
}

chunkNumber += 1
offset += metaData.UploadChunkSize
}
}

if trace.IsLogging(logger.TRACE) {
if trace.IsLogging(logger.TRACE) {
trace.Trace(fmt.Sprintf("returning %d file readers in the MultiReader from RetrieveObjectTempData", len(readers)))
}
rr := io.MultiReader(readers...)
Expand Down

0 comments on commit 23e68ea

Please sign in to comment.