diff options
| author | Chris Lu <chris.lu@gmail.com> | 2020-03-09 22:29:02 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2020-03-09 22:29:02 -0700 |
| commit | 0871d2cff091e43190065bd17dba624cf6da1d6d (patch) | |
| tree | 3979790d89967d24e804f8e19c43ba3f729e1212 /weed/storage/erasure_coding/ec_encoder.go | |
| parent | 1f8fc4b5edfeb9838345de146beb1ec033231dd3 (diff) | |
| download | seaweedfs-0871d2cff091e43190065bd17dba624cf6da1d6d.tar.xz seaweedfs-0871d2cff091e43190065bd17dba624cf6da1d6d.zip | |
volume: fix memory leak during compaction
fix https://github.com/chrislusf/seaweedfs/issues/1222
Diffstat (limited to 'weed/storage/erasure_coding/ec_encoder.go')
| -rw-r--r-- | weed/storage/erasure_coding/ec_encoder.go | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/weed/storage/erasure_coding/ec_encoder.go b/weed/storage/erasure_coding/ec_encoder.go index 9e2edf57d..97c3ccbd9 100644 --- a/weed/storage/erasure_coding/ec_encoder.go +++ b/weed/storage/erasure_coding/ec_encoder.go @@ -27,6 +27,9 @@ const ( func WriteSortedFileFromIdx(baseFileName string, ext string) (e error) { nm, err := readNeedleMap(baseFileName) + if nm != nil { + defer nm.Close() + } if err != nil { return fmt.Errorf("readNeedleMap: %v", err) } @@ -196,7 +199,7 @@ func encodeDatFile(remainingSize int64, err error, baseFileName string, bufferSi } buffers := make([][]byte, TotalShardsCount) - for i, _ := range buffers { + for i := range buffers { buffers[i] = make([]byte, bufferSize) } @@ -233,7 +236,7 @@ func rebuildEcFiles(shardHasData []bool, inputFiles []*os.File, outputFiles []*o } buffers := make([][]byte, TotalShardsCount) - for i, _ := range buffers { + for i := range buffers { if shardHasData[i] { buffers[i] = make([]byte, ErasureCodingSmallBlockSize) } |
