feat(master): Record the decommission term when the dataNode is decommissioned.

close: #1000362788

Signed-off-by: shuqiang-zheng <zhengshuqiang@oppo.com>
(cherry picked from commit 8a0b0e5b67)
This commit is contained in:
shuqiang-zheng 2025-10-11 14:23:05 +08:00 committed by chihe
parent 2a9b335268
commit 5251e6a78f
4 changed files with 7 additions and 0 deletions

View File

@ -6888,6 +6888,7 @@ func (m *Server) queryDataNodeDecoProgress(w http.ResponseWriter, r *http.Reques
Progress: fmt.Sprintf("%.2f%%", progress*float64(100)),
StatusMessage: GetDecommissionStatusMessage(status),
TotalDpCnt: dn.DecommissionDpTotal,
StartTime: time.Unix(int64(dn.DecommissionTime), 0).String(),
}
remainingDpCnt, failedDps, runningDps := dn.GetDecommissionFailedAndRunningDPByTerm(m.cluster)
resp.FailedDps = failedDps

View File

@ -78,6 +78,7 @@ type DataNode struct {
DecommissionLimit int
DecommissionWeight int
DecommissionFirstHostParallelLimit uint64
DecommissionTime uint64
DecommissionCompleteTime int64
DpCntLimit uint64 `json:"-"` // max count of data partition in a data node
CpuUtil atomicutil.Float64 `json:"-"`
@ -736,6 +737,7 @@ func (dataNode *DataNode) markDecommission(targetAddr string, raftForce bool, li
dataNode.DecommissionLimit = limit
dataNode.DecommissionWeight = weight
dataNode.DecommissionDiskList = make([]string, 0)
dataNode.DecommissionTime = uint64(time.Now().Unix())
}
func (dataNode *DataNode) markDecommissionSuccess(c *Cluster) {

View File

@ -529,6 +529,7 @@ type dataNodeValue struct {
DecommissionLimit int
DecommissionWeight int
DecommissionFirstHostParallelLimit uint64
DecommissionTime uint64
DecommissionCompleteTime int64
ToBeOffline bool
DecommissionDiskList []string
@ -558,6 +559,7 @@ func newDataNodeValue(dataNode *DataNode) *dataNodeValue {
DecommissionLimit: dataNode.DecommissionLimit,
DecommissionWeight: dataNode.DecommissionWeight,
DecommissionFirstHostParallelLimit: dataNode.DecommissionFirstHostParallelLimit,
DecommissionTime: dataNode.DecommissionTime,
DecommissionCompleteTime: dataNode.DecommissionCompleteTime,
ToBeOffline: dataNode.ToBeOffline,
DecommissionDiskList: dataNode.DecommissionDiskList,
@ -1678,6 +1680,7 @@ func (c *Cluster) loadDataNodes() (err error) {
dataNode.DecommissionLimit = dnv.DecommissionLimit
dataNode.DecommissionWeight = dnv.DecommissionWeight
dataNode.DecommissionFirstHostParallelLimit = dnv.DecommissionFirstHostParallelLimit
dataNode.DecommissionTime = dnv.DecommissionTime
dataNode.DecommissionCompleteTime = dnv.DecommissionCompleteTime
dataNode.ToBeOffline = dnv.ToBeOffline
dataNode.DecommissionDiskList = dnv.DecommissionDiskList

View File

@ -476,6 +476,7 @@ type DataDecommissionProgress struct {
FailedDps []FailedDpInfo
IgnoreDps []IgnoreDecommissionDP
ResidualDps []IgnoreDecommissionDP
StartTime string
}
type DiskInfo struct {