diff options
| author | chrislu <chris.lu@gmail.com> | 2022-04-05 10:53:36 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-04-05 10:53:36 -0700 |
| commit | 8b3d76b24dc52a0d125c372b439d711a065b2d40 (patch) | |
| tree | a0cf24ccc1e3accc3da0d7879d3c08908faec270 | |
| parent | bb4beebce368f9c19257cf67779b5f65e99c6e21 (diff) | |
| download | seaweedfs-8b3d76b24dc52a0d125c372b439d711a065b2d40.tar.xz seaweedfs-8b3d76b24dc52a0d125c372b439d711a065b2d40.zip | |
prevent concurrent access during shutdown
| -rw-r--r-- | weed/mount/page_writer/upload_pipeline.go | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/weed/mount/page_writer/upload_pipeline.go b/weed/mount/page_writer/upload_pipeline.go index e084ca58f..0c7446cad 100644 --- a/weed/mount/page_writer/upload_pipeline.go +++ b/weed/mount/page_writer/upload_pipeline.go @@ -187,6 +187,9 @@ func (up *UploadPipeline) moveToSealed(memChunk PageChunk, logicChunkIndex Logic func (up *UploadPipeline) Shutdown() { up.swapFile.FreeResource() + + up.sealedChunksLock.Lock() + defer up.sealedChunksLock.Unlock() for logicChunkIndex, sealedChunk := range up.sealedChunks { sealedChunk.FreeReference(fmt.Sprintf("%s uploadpipeline shutdown chunk %d", up.filepath, logicChunkIndex)) } |
