Add logs when quorum is lost during readiness checks (#9839)

This commit is contained in:
Harshavardhana
2020-06-15 13:03:16 -07:00
committed by GitHub
parent 41a7938748
commit a1e6a3ef64

View File

@@ -1608,7 +1608,7 @@ func (z *xlZones) getZoneAndSet(id string) (int, int, error) {
}
}
}
return 0, 0, errDiskNotFound
return 0, 0, fmt.Errorf("ID(%s) %w", errDiskNotFound)
}
// IsReady - Returns true all the erasure sets are writable.
@@ -1625,6 +1625,7 @@ func (z *xlZones) IsReady(ctx context.Context) bool {
for _, id := range diskIDs {
zoneIdx, setIdx, err := z.getZoneAndSet(id)
if err != nil {
logger.LogIf(ctx, err)
continue
}
erasureSetUpCount[zoneIdx][setIdx]++
@@ -1643,6 +1644,8 @@ func (z *xlZones) IsReady(ctx context.Context) bool {
}
for setIdx := range erasureSetUpCount[zoneIdx] {
if erasureSetUpCount[zoneIdx][setIdx] < writeQuorum {
logger.LogIf(ctx, fmt.Errorf("Write quorum lost on zone: %d, set: %d, expected write quorum: %d",
zoneIdx, setIdx, writeQuorum))
return false
}
}