diff options
| author | chrislu <chris.lu@gmail.com> | 2023-01-15 21:10:08 -0800 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2023-01-15 21:10:08 -0800 |
| commit | c24678153c922ee31e421c15620d1e5fe50e8ba8 (patch) | |
| tree | cb2c8cf1e68cf4483ee46c7758df4c3782ced6a5 | |
| parent | 2885ba0e508075762d732468334890c51f419aed (diff) | |
| download | seaweedfs-c24678153c922ee31e421c15620d1e5fe50e8ba8.tar.xz seaweedfs-c24678153c922ee31e421c15620d1e5fe50e8ba8.zip | |
use memory chunks only for sequential writes
| -rw-r--r-- | weed/mount/page_writer/upload_pipeline.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/weed/mount/page_writer/upload_pipeline.go b/weed/mount/page_writer/upload_pipeline.go index f326445a3..e1aa43fe2 100644 --- a/weed/mount/page_writer/upload_pipeline.go +++ b/weed/mount/page_writer/upload_pipeline.go @@ -94,7 +94,8 @@ func (up *UploadPipeline) SaveDataAt(p []byte, off int64, isSequential bool, tsN up.moveToSealed(up.writableChunks[candidateChunkIndex], candidateChunkIndex) // fmt.Printf("flush chunk %d with %d bytes written\n", logicChunkIndex, oldestTs) } - if len(up.writableChunks) < up.writableChunkLimit && + if isSequential && + len(up.writableChunks) < up.writableChunkLimit && atomic.LoadInt64(&memChunkCounter) < 4*int64(up.writableChunkLimit) { pageChunk = NewMemChunk(logicChunkIndex, up.ChunkSize) } else { |
