mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
deleted index entry could not point to deleted needle
This commit is contained in:
parent
78678f4bcb
commit
09bd3d015d
|
@ -21,6 +21,10 @@ func CheckVolumeDataIntegrity(v *Volume, indexFile *os.File) error {
|
||||||
return fmt.Errorf("readLastIndexEntry %s failed: %v", indexFile.Name(), e)
|
return fmt.Errorf("readLastIndexEntry %s failed: %v", indexFile.Name(), e)
|
||||||
}
|
}
|
||||||
key, offset, size := idxFileEntry(lastIdxEntry)
|
key, offset, size := idxFileEntry(lastIdxEntry)
|
||||||
|
//deleted index entry could not point to deleted needle
|
||||||
|
if offset == 0 || size == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
if e = verifyNeedleIntegrity(v.dataFile, v.Version(), int64(offset)*NeedlePaddingSize, key, size); e != nil {
|
if e = verifyNeedleIntegrity(v.dataFile, v.Version(), int64(offset)*NeedlePaddingSize, key, size); e != nil {
|
||||||
return fmt.Errorf("verifyNeedleIntegrity %s failed: %v", indexFile.Name(), e)
|
return fmt.Errorf("verifyNeedleIntegrity %s failed: %v", indexFile.Name(), e)
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,6 @@ func (vl *VolumeLayout) RegisterVolume(v *storage.VolumeInfo, dn *DataNode) {
|
||||||
if _, ok := vl.vid2location[v.Id]; !ok {
|
if _, ok := vl.vid2location[v.Id]; !ok {
|
||||||
vl.vid2location[v.Id] = NewVolumeLocationList()
|
vl.vid2location[v.Id] = NewVolumeLocationList()
|
||||||
}
|
}
|
||||||
vl.vid2location[v.Id].Set(dn)
|
|
||||||
glog.V(4).Infoln("volume", v.Id, "added to dn", dn.Id(), "len", vl.vid2location[v.Id].Length(), "copy", v.ReplicaPlacement.GetCopyCount())
|
glog.V(4).Infoln("volume", v.Id, "added to dn", dn.Id(), "len", vl.vid2location[v.Id].Length(), "copy", v.ReplicaPlacement.GetCopyCount())
|
||||||
if vl.vid2location[v.Id].Length() == vl.rp.GetCopyCount() && vl.isWritable(v) {
|
if vl.vid2location[v.Id].Length() == vl.rp.GetCopyCount() && vl.isWritable(v) {
|
||||||
if _, ok := vl.oversizedVolumes[v.Id]; !ok {
|
if _, ok := vl.oversizedVolumes[v.Id]; !ok {
|
||||||
|
|
Loading…
Reference in a new issue