mirror of
https://github.com/minio/minio.git
synced 2025-11-06 20:33:07 -05:00
Allow cluster to start when only n/2 servers are up (#4066)
Fixes #3234. Relaxes the quorum requirement to start the object layer, and skips quick-healing at start-up (as no write quorum is present).
This commit is contained in:
committed by
Harshavardhana
parent
6e9ac8db59
commit
604417baf4
10
cmd/xl-v1.go
10
cmd/xl-v1.go
@@ -155,6 +155,16 @@ func newXLObjects(storageDisks []StorageAPI) (ObjectLayer, error) {
|
||||
xl.readQuorum = readQuorum
|
||||
xl.writeQuorum = writeQuorum
|
||||
|
||||
// If the number of offline servers is equal to the readQuorum
|
||||
// (i.e. the number of online servers also equals the
|
||||
// readQuorum), we cannot perform quick-heal (no
|
||||
// write-quorum). However reads may still be possible, so we
|
||||
// skip quick-heal in this case, and continue.
|
||||
offlineCount := len(newStorageDisks) - diskCount(newStorageDisks)
|
||||
if offlineCount == readQuorum {
|
||||
return xl, nil
|
||||
}
|
||||
|
||||
// Do a quick heal on the buckets themselves for any discrepancies.
|
||||
return xl, quickHeal(xl.storageDisks, xl.writeQuorum, xl.readQuorum)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user