diff options
| author | chrislu <chris.lu@gmail.com> | 2022-01-17 03:19:00 -0800 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-01-17 03:19:00 -0800 |
| commit | f710d5ffcaced286062dcbe99bf5fcebdb73efc0 (patch) | |
| tree | 6d8cbc4f2c0595a94e6dc2e2e4bd031d0b6b606c | |
| parent | fc0628c0381fcf571cf46ff699e2b79dc8c99bb0 (diff) | |
| download | seaweedfs-f710d5ffcaced286062dcbe99bf5fcebdb73efc0.tar.xz seaweedfs-f710d5ffcaced286062dcbe99bf5fcebdb73efc0.zip | |
a little speed up
| -rw-r--r-- | weed/filesys/dirty_pages_mem_chunk.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/weed/filesys/dirty_pages_mem_chunk.go b/weed/filesys/dirty_pages_mem_chunk.go index 9740842cf..98b3929ac 100644 --- a/weed/filesys/dirty_pages_mem_chunk.go +++ b/weed/filesys/dirty_pages_mem_chunk.go @@ -18,6 +18,7 @@ type MemoryChunkPages struct { collection string replication string uploadPipeline *page_writer.UploadPipeline + hasWrites bool } func newMemoryChunkPages(file *File, chunkSize int64) *MemoryChunkPages { @@ -33,6 +34,7 @@ func newMemoryChunkPages(file *File, chunkSize int64) *MemoryChunkPages { } func (pages *MemoryChunkPages) AddPage(offset int64, data []byte) { + pages.hasWrites = true glog.V(4).Infof("%v memory AddPage [%d, %d)", pages.f.fullpath(), offset, offset+int64(len(data))) pages.uploadPipeline.SaveDataAt(data, offset) @@ -41,6 +43,9 @@ func (pages *MemoryChunkPages) AddPage(offset int64, data []byte) { } func (pages *MemoryChunkPages) FlushData() error { + if !pages.hasWrites { + return nil + } pages.saveChunkedFileToStorage() pages.writeWaitGroup.Wait() if pages.lastErr != nil { @@ -50,6 +55,9 @@ func (pages *MemoryChunkPages) FlushData() error { } func (pages *MemoryChunkPages) ReadDirtyDataAt(data []byte, startOffset int64) (maxStop int64) { + if !pages.hasWrites { + return + } return pages.uploadPipeline.MaybeReadDataAt(data, startOffset) } |
