fix(ec): volumes created by foreign collection due to bug in ec balance (#4864)
* fix(ec): ignore 0 byte data files refers to parts of #4861 Signed-off-by: Tobias Gurtzick <magic@wizardtales.com> * fix(ec): ignore volumes not from the current collection during balance fixes #4861 Signed-off-by: Tobias Gurtzick <magic@wizardtales.com> --------- Signed-off-by: Tobias Gurtzick <magic@wizardtales.com>
This commit is contained in:
@@ -2,13 +2,14 @@ package storage
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"golang.org/x/exp/slices"
|
||||
"os"
|
||||
"path"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"golang.org/x/exp/slices"
|
||||
|
||||
"github.com/seaweedfs/seaweedfs/weed/storage/erasure_coding"
|
||||
"github.com/seaweedfs/seaweedfs/weed/storage/needle"
|
||||
)
|
||||
@@ -163,7 +164,15 @@ func (l *DiskLocation) loadAllEcShards() (err error) {
|
||||
continue
|
||||
}
|
||||
|
||||
if re.MatchString(ext) {
|
||||
info, err := fileInfo.Info()
|
||||
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
|
||||
// 0 byte files should be only appearing erroneously for ec data files
|
||||
// so we ignore them
|
||||
if re.MatchString(ext) && info.Size() > 0 {
|
||||
if prevVolumeId == 0 || volumeId == prevVolumeId {
|
||||
sameVolumeShards = append(sameVolumeShards, fileInfo.Name())
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user