diff options
| author | chrislu <chris.lu@gmail.com> | 2022-10-28 12:53:23 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-10-28 12:53:23 -0700 |
| commit | 0d9f2f9e7a3a4cda273ef1d057c7f2b052b985d9 (patch) | |
| tree | 3020c8bd10e1a675c260f5c9a8c404bc5bdf8984 /weed/command/fix.go | |
| parent | ea2637734a13a08d11d4f26e80c1324664bf7ffc (diff) | |
| parent | 764d9cb1059e5210927c7faca79012578fe69119 (diff) | |
| download | seaweedfs-0d9f2f9e7a3a4cda273ef1d057c7f2b052b985d9.tar.xz seaweedfs-0d9f2f9e7a3a4cda273ef1d057c7f2b052b985d9.zip | |
Merge branch 'master' of https://github.com/seaweedfs/seaweedfs
Diffstat (limited to 'weed/command/fix.go')
| -rw-r--r-- | weed/command/fix.go | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/weed/command/fix.go b/weed/command/fix.go index f0499a818..b5016d961 100644 --- a/weed/command/fix.go +++ b/weed/command/fix.go @@ -31,6 +31,7 @@ var cmdFix = &Command{ var ( fixVolumeCollection = cmdFix.Flag.String("collection", "", "an optional volume collection name, if specified only it will be processed") fixVolumeId = cmdFix.Flag.Int64("volumeId", 0, "an optional volume id, if not 0 (default) only it will be processed") + fixIgnoreError = cmdFix.Flag.Bool("ignoreError", false, "an optional, if true will be processed despite errors") ) type VolumeFileScanner4Fix struct { @@ -126,11 +127,21 @@ func doFixOneVolume(basepath string, baseFileName string, collection string, vol } if err := storage.ScanVolumeFile(basepath, collection, vid, storage.NeedleMapInMemory, scanner); err != nil { - glog.Fatalf("scan .dat File: %v", err) + err := fmt.Errorf("scan .dat File: %v", err) + if *fixIgnoreError { + glog.Error(err) + } else { + glog.Fatal(err) + } } if err := nm.SaveToIdx(indexFileName); err != nil { os.Remove(indexFileName) - glog.Fatalf("save to .idx File: %v", err) + err := fmt.Errorf("save to .idx File: %v", err) + if *fixIgnoreError { + glog.Error(err) + } else { + glog.Fatal(err) + } } } |
