Skip to content

Commit f5627e0

Browse files
zhuhycawzhgw
authored andcommitted
over-provision 10GB
Signed-off-by: zhuhyc <[email protected]>
1 parent 2b5ec5a commit f5627e0

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

master/data_partition_check.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"github.com/chubaofs/chubaofs/proto"
2020
"github.com/chubaofs/chubaofs/util/log"
2121
"time"
22+
"github.com/chubaofs/chubaofs/util"
2223
)
2324

2425
func (partition *DataPartition) checkStatus(clusterName string, needLog bool, dpTimeOutSec int64) {
@@ -36,7 +37,7 @@ func (partition *DataPartition) checkStatus(clusterName string, needLog bool, dp
3637
switch len(liveReplicas) {
3738
case (int)(partition.ReplicaNum):
3839
partition.Status = proto.ReadOnly
39-
if partition.checkReplicaStatusOnLiveNode(liveReplicas) == true && partition.isReplicaSizeAligned() {
40+
if partition.checkReplicaStatusOnLiveNode(liveReplicas) == true && partition.isReplicaSizeAligned() && partition.canWrite() {
4041
partition.Status = proto.ReadWrite
4142
}
4243
default:
@@ -49,6 +50,14 @@ func (partition *DataPartition) checkStatus(clusterName string, needLog bool, dp
4950
}
5051
}
5152

53+
func (partition *DataPartition) canWrite() bool {
54+
avail := partition.total - partition.used
55+
if int64(avail) > 10*util.GB {
56+
return true
57+
}
58+
return false
59+
}
60+
5261
func (partition *DataPartition) checkReplicaStatusOnLiveNode(liveReplicas []*DataReplica) (equal bool) {
5362
for _, replica := range liveReplicas {
5463
if replica.Status != proto.ReadWrite {

0 commit comments

Comments
 (0)