Browse Source

pass in bytes buffer to avoid possible race condition

related to https://github.com/seaweedfs/seaweedfs/issues/6180
pull/6185/head
chrislu 2 months ago
parent
commit
8802843511
  1. 4
      weed/server/filer_server_handlers_write_upload.go

4
weed/server/filer_server_handlers_write_upload.go

@ -100,7 +100,7 @@ func (fs *FilerServer) uploadReaderToChunks(reader io.Reader, startOffset int64,
} }
wg.Add(1) wg.Add(1)
go func(offset int64) {
go func(offset int64, buf *bytes.Buffer) {
defer func() { defer func() {
bufPool.Put(bytesBuffer) bufPool.Put(bytesBuffer)
<-bytesBufferLimitChan <-bytesBufferLimitChan
@ -124,7 +124,7 @@ func (fs *FilerServer) uploadReaderToChunks(reader io.Reader, startOffset int64,
} }
fileChunksLock.Unlock() fileChunksLock.Unlock()
} }
}(chunkOffset)
}(chunkOffset, bytesBuffer)
// reset variables for the next chunk // reset variables for the next chunk
chunkOffset = chunkOffset + dataSize chunkOffset = chunkOffset + dataSize

Loading…
Cancel
Save