can vacuum volume when size mismatch (#5200)

Co-authored-by: Yang Wang <yangwang@weride.ai>
This commit is contained in:
skycope
2024-01-16 08:16:46 +08:00
committed by GitHub
parent c82236b41b
commit 316ae45795
3 changed files with 14 additions and 4 deletions

View File

@@ -60,6 +60,9 @@ func doCheckAndFixVolumeData(v *Volume, indexFile *os.File, indexOffset int64) (
}
} else {
if lastAppendAtNs, err = verifyNeedleIntegrity(v.DataBackend, v.Version(), offset.ToActualOffset(), key, size); err != nil {
if err == ErrorSizeMismatch {
return verifyNeedleIntegrity(v.DataBackend, v.Version(), offset.ToActualOffset()+int64(MaxPossibleVolumeSize), key, size)
}
return lastAppendAtNs, err
}
}