aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2024-10-30 09:31:22 -0700
committerchrislu <chris.lu@gmail.com>2024-10-30 09:31:22 -0700
commit8802843511ef84b6e218076ba7223f3088dac685 (patch)
tree4ce21a1387121ffc2825b6ebf815f12e387dee68
parent3feb66d0a14d641a61479835415cd05c5ac9006a (diff)
downloadseaweedfs-8802843511ef84b6e218076ba7223f3088dac685.tar.xz
seaweedfs-8802843511ef84b6e218076ba7223f3088dac685.zip
pass in bytes buffer to avoid possible race condition
related to https://github.com/seaweedfs/seaweedfs/issues/6180
-rw-r--r--weed/server/filer_server_handlers_write_upload.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/weed/server/filer_server_handlers_write_upload.go b/weed/server/filer_server_handlers_write_upload.go
index 58ea8cda2..cb16eadc3 100644
--- a/weed/server/filer_server_handlers_write_upload.go
+++ b/weed/server/filer_server_handlers_write_upload.go
@@ -100,7 +100,7 @@ func (fs *FilerServer) uploadReaderToChunks(reader io.Reader, startOffset int64,
}
wg.Add(1)
- go func(offset int64) {
+ go func(offset int64, buf *bytes.Buffer) {
defer func() {
bufPool.Put(bytesBuffer)
<-bytesBufferLimitChan
@@ -124,7 +124,7 @@ func (fs *FilerServer) uploadReaderToChunks(reader io.Reader, startOffset int64,
}
fileChunksLock.Unlock()
}
- }(chunkOffset)
+ }(chunkOffset, bytesBuffer)
// reset variables for the next chunk
chunkOffset = chunkOffset + dataSize