mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-09-19 00:07:56 +08:00
fix volume placement validating
fix https://github.com/chrislusf/seaweedfs/issues/1626
This commit is contained in:
@@ -306,16 +306,16 @@ func isGoodMove(placement *super_block.ReplicaPlacement, existingReplicas []*Vol
|
||||
dcs[targetNode.dc] = true
|
||||
racks[fmt.Sprintf("%s %s", targetNode.dc, targetNode.rack)]++
|
||||
|
||||
if len(dcs) > placement.DiffDataCenterCount+1 {
|
||||
if len(dcs) != placement.DiffDataCenterCount+1 {
|
||||
return false
|
||||
}
|
||||
|
||||
if len(racks) > placement.DiffRackCount+placement.DiffDataCenterCount+1 {
|
||||
if len(racks) != placement.DiffRackCount+placement.DiffDataCenterCount+1 {
|
||||
return false
|
||||
}
|
||||
|
||||
for _, sameRackCount := range racks {
|
||||
if sameRackCount > placement.SameRackCount+1 {
|
||||
if sameRackCount != placement.SameRackCount+1 {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user