use memory chunks only for sequential writes

This commit is contained in:
chrislu 2023-01-15 21:10:08 -08:00
parent 2885ba0e50
commit c24678153c

View File

@ -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 {