aboutsummaryrefslogtreecommitdiff
path: root/weed/storage/erasure_coding/ec_decoder.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-06-18 09:52:35 -0700
committerChris Lu <chris.lu@gmail.com>2020-06-18 09:52:35 -0700
commitae1994cbc1692133cc5f4ac30e8060a2b0d9dda8 (patch)
tree34583a0c17c24aaa1907f97b75fbc89771bac63f /weed/storage/erasure_coding/ec_decoder.go
parentce79ec0bd4aa3acfc9d9f4cf6f5dc817bbe9655e (diff)
downloadseaweedfs-ae1994cbc1692133cc5f4ac30e8060a2b0d9dda8.tar.xz
seaweedfs-ae1994cbc1692133cc5f4ac30e8060a2b0d9dda8.zip
erasure coding: fix cases where there are no .ecj files
Diffstat (limited to 'weed/storage/erasure_coding/ec_decoder.go')
-rw-r--r--weed/storage/erasure_coding/ec_decoder.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/weed/storage/erasure_coding/ec_decoder.go b/weed/storage/erasure_coding/ec_decoder.go
index ae77cee3f..7b42d02e7 100644
--- a/weed/storage/erasure_coding/ec_decoder.go
+++ b/weed/storage/erasure_coding/ec_decoder.go
@@ -11,6 +11,7 @@ import (
"github.com/chrislusf/seaweedfs/weed/storage/needle_map"
"github.com/chrislusf/seaweedfs/weed/storage/super_block"
"github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/chrislusf/seaweedfs/weed/util"
)
// write .idx file from .ecx and .ecj files
@@ -118,9 +119,12 @@ func iterateEcxFile(baseFileName string, processNeedleFn func(key types.NeedleId
}
func iterateEcjFile(baseFileName string, processNeedleFn func(key types.NeedleId) error) error {
+ if !util.FileExists(baseFileName+".ecj") {
+ return nil
+ }
ecjFile, openErr := os.OpenFile(baseFileName+".ecj", os.O_RDONLY, 0644)
if openErr != nil {
- return fmt.Errorf("cannot open ec index %s.ecx: %v", baseFileName, openErr)
+ return fmt.Errorf("cannot open ec index %s.ecj: %v", baseFileName, openErr)
}
defer ecjFile.Close()