mirror of
https://github.com/minio/minio.git
synced 2025-11-09 13:39:46 -05:00
xl: GetCheckSumInfo() shouldn't fail if hash not available. (#2984)
In a multipart upload scenario disks going down and coming backup can lead to certain parts missing on the disk/server which was going down. This is a valid case since these blocks can be missing and should be healed through heal operation. But we are not supposed to fail prematurely since we have enough data on the other disks as well within read-quorum. This fix relaxes previous assumption, fixes a major corruption issue reproduced by @vadmeste. Fixes #2976
This commit is contained in:
@@ -171,10 +171,7 @@ func (xl xlObjects) HealObject(bucket, object string) error {
|
||||
partName := latestMeta.Parts[partIndex].Name
|
||||
partSize := latestMeta.Parts[partIndex].Size
|
||||
erasure := latestMeta.Erasure
|
||||
sumInfo, err := latestMeta.Erasure.GetCheckSumInfo(partName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
sumInfo := latestMeta.Erasure.GetCheckSumInfo(partName)
|
||||
// Heal the part file.
|
||||
checkSums, err := erasureHealFile(latestDisks, outDatedDisks,
|
||||
bucket, pathJoin(object, partName),
|
||||
|
||||
Reference in New Issue
Block a user