aboutsummaryrefslogtreecommitdiff
path: root/weed/storage/erasure_coding/ec_encoder.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-03-09 22:29:02 -0700
committerChris Lu <chris.lu@gmail.com>2020-03-09 22:29:02 -0700
commit0871d2cff091e43190065bd17dba624cf6da1d6d (patch)
tree3979790d89967d24e804f8e19c43ba3f729e1212 /weed/storage/erasure_coding/ec_encoder.go
parent1f8fc4b5edfeb9838345de146beb1ec033231dd3 (diff)
downloadseaweedfs-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.go7
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)
}