aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbanjiaojuhao <banjiaojuhao@qq.com>2022-03-10 11:40:39 +0800
committerbanjiaojuhao <banjiaojuhao@qq.com>2022-03-10 11:40:39 +0800
commitf28dbbe5c5d07402605832d7fb4b2cb71e2c274a (patch)
tree2f5f43b27ce319ef03e420fecdfc7987af234ef7
parente2b07737da41337c782941723866d54c6d5a8153 (diff)
downloadseaweedfs-f28dbbe5c5d07402605832d7fb4b2cb71e2c274a.tar.xz
seaweedfs-f28dbbe5c5d07402605832d7fb4b2cb71e2c274a.zip
[bugfix] filer: 1. Delete uploaded chunks when upload failed. 2. Report error when upload is interrupted by user.
-rw-r--r--weed/server/filer_server_handlers_write_upload.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/weed/server/filer_server_handlers_write_upload.go b/weed/server/filer_server_handlers_write_upload.go
index 15a4bac33..6ee378819 100644
--- a/weed/server/filer_server_handlers_write_upload.go
+++ b/weed/server/filer_server_handlers_write_upload.go
@@ -79,6 +79,7 @@ func (fs *FilerServer) uploadReaderToChunks(w http.ResponseWriter, r *http.Reque
bufPool.Put(bytesBuffer)
atomic.AddInt64(&bytesBufferCounter, -1)
bytesBufferLimitCond.Signal()
+ uploadErr = err
break
}
if chunkOffset == 0 && !isAppend {
@@ -126,6 +127,7 @@ func (fs *FilerServer) uploadReaderToChunks(w http.ResponseWriter, r *http.Reque
wg.Wait()
if uploadErr != nil {
+ fs.filer.DeleteChunks(fileChunks)
return nil, md5Hash, 0, uploadErr, nil
}