Use readQuorum instead of writeQuorum to check bucket exists (#5715)

Fixes #5708
Fixes #5700
This commit is contained in:
Harshavardhana 2018-03-26 16:36:57 -07:00 committed by Dee Koder
parent 19451e374a
commit de44be86d0
3 changed files with 6 additions and 6 deletions

View file

@ -217,9 +217,9 @@ func (ahs *allHealState) LaunchNewHealSequence(h *healSequence) (
}()
b, err := json.Marshal(madmin.HealStartSuccess{
h.clientToken,
h.clientAddress,
h.startTime,
ClientToken: h.clientToken,
ClientAddress: h.clientAddress,
StartTime: h.startTime,
})
if err != nil {
errorIf(err, "Failed to marshal heal result into json.")

View file

@ -1105,7 +1105,7 @@ func (s *xlSets) HealBucket(ctx context.Context, bucket string, dryRun bool) (re
// Check if we had quorum to write, if not return an appropriate error.
_, afterDriveOnline := res.GetOnlineCounts()
if afterDriveOnline < s.setCount*s.drivesPerSet/2+1 {
if afterDriveOnline < ((s.setCount*s.drivesPerSet)/2)+1 {
return nil, toObjectErr(errXLWriteQuorum, bucket)
}

View file

@ -49,8 +49,8 @@ func checkBucketExistsInQuorum(storageDisks []StorageAPI, bucketName string) (er
}
wg.Wait()
writeQuorum := len(storageDisks)/2 + 1
return reduceWriteQuorumErrs(errs, nil, writeQuorum)
readQuorum := len(storageDisks) / 2
return reduceWriteQuorumErrs(errs, nil, readQuorum)
}
// Heals a bucket if it doesn't exist on one of the disks, additionally