From 24f608a26ed2c18c6371aaa20cad6e31fab2ee65 Mon Sep 17 00:00:00 2001 From: Tuan Vuong Date: Tue, 2 Dec 2025 13:37:51 +0700 Subject: [PATCH] fix: missing field of backend --- go.sum | 3 +- pkg/common/cmd/types/resource.go | 116 ++++++++++++++++--------------- pkg/common/utils/mysql/doris.go | 7 +- 3 files changed, 65 insertions(+), 61 deletions(-) diff --git a/go.sum b/go.sum index 645fe1aa..01063fdd 100644 --- a/go.sum +++ b/go.sum @@ -379,8 +379,7 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= -golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= diff --git a/pkg/common/cmd/types/resource.go b/pkg/common/cmd/types/resource.go index 40941c64..69b5e0a7 100644 --- a/pkg/common/cmd/types/resource.go +++ b/pkg/common/cmd/types/resource.go @@ -6,7 +6,7 @@ // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // -// http://www.apache.org/licenses/LICENSE-2.0 +// http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an @@ -16,67 +16,69 @@ // under the License. package cmdtypes -//Frontend describe the details of frontend node. +// Frontend describe the details of frontend node. type Frontend struct { - Name string `json:"name" db:"Name"` - Host string `json:"host" db:"Host"` - EditLogPort int `json:"edit_log_port" db:"EditLogPort"` - HttpPort int `json:"http_port" db:"HttpPort"` - QueryPort int `json:"query_port" db:"QueryPort"` - RpcPort int `json:"rpc_port" db:"RpcPort"` - ArrowFlightSqlPort int `json:"arrow_flight_sql_port" db:"ArrowFlightSqlPort"` - Role string `json:"role" db:"Role"` - IsMaster bool `json:"is_master" db:"IsMaster"` - ClusterId string `json:"cluster_id" db:"ClusterId"` - Join bool `json:"join" db:"Join"` - Alive bool `json:"alive" db:"Alive"` - ReplayedJournalId string `json:"replayed_journal_id" db:"ReplayedJournalId"` - LastStartTime *string `json:"last_start_time" db:"LastStartTime"` - LastHeartbeat *string `json:"last_heartbeat" db:"LastHeartbeat"` - IsHelper bool `json:"is_helper" db:"IsHelper"` - ErrMsg string `json:"err_msg" db:"ErrMsg"` - Version *string `json:"version" db:"Version"` - CurrentConnected string `json:"current_connected" db:"CurrentConnected"` + Name string `json:"name" db:"Name"` + Host string `json:"host" db:"Host"` + EditLogPort int `json:"edit_log_port" db:"EditLogPort"` + HttpPort int `json:"http_port" db:"HttpPort"` + QueryPort int `json:"query_port" db:"QueryPort"` + RpcPort int `json:"rpc_port" db:"RpcPort"` + ArrowFlightSqlPort int `json:"arrow_flight_sql_port" db:"ArrowFlightSqlPort"` + Role string `json:"role" db:"Role"` + IsMaster bool `json:"is_master" db:"IsMaster"` + ClusterId string `json:"cluster_id" db:"ClusterId"` + Join bool `json:"join" db:"Join"` + Alive bool `json:"alive" db:"Alive"` + ReplayedJournalId string `json:"replayed_journal_id" db:"ReplayedJournalId"` + LastStartTime *string `json:"last_start_time" db:"LastStartTime"` + LastHeartbeat *string `json:"last_heartbeat" db:"LastHeartbeat"` + IsHelper bool `json:"is_helper" db:"IsHelper"` + ErrMsg string `json:"err_msg" db:"ErrMsg"` + Version *string `json:"version" db:"Version"` + CurrentConnected string `json:"current_connected" db:"CurrentConnected"` } -//Backend describe the details of backend node. +// Backend describe the details of backend node. type Backend struct { - BackendID string `json:"backend_id" db:"BackendId"` - Host string `json:"host" db:"Host"` - HeartbeatPort int `json:"heartbeat_port" db:"HeartbeatPort"` - BePort int `json:"be_port" db:"BePort"` - HttpPort int `json:"http_port" db:"HttpPort"` - BrpcPort int `json:"brpc_port" db:"BrpcPort"` - ArrowFlightSqlPort int `json:"arrow_flight_sql_port" db:"ArrowFlightSqlPort"` - LastStartTime *string `json:"last_start_time" db:"LastStartTime"` - LastHeartbeat *string `json:"last_heartbeat" db:"LastHeartbeat"` - Alive bool `json:"alive" db:"Alive"` - SystemDecommissioned bool `json:"system_decommissioned" db:"SystemDecommissioned"` - TabletNum int64 `json:"tablet_num" db:"TabletNum"` - DataUsedCapacity string `json:"data_used_capacity" db:"DataUsedCapacity"` - TrashUsedCapacity string `json:"trash_used_capacity" db:"TrashUsedCapacity"` - TrashUsedCapcacity string `json:"trash_used_capcacity" db:"TrashUsedCapcacity"` - AvailCapacity string `json:"avail_capacity" db:"AvailCapacity"` - TotalCapacity string `json:"total_capacity" db:"TotalCapacity"` - UsedPct string `json:"used_pct" db:"UsedPct"` - MaxDiskUsedPct string `json:"max_disk_used_pct" db:"MaxDiskUsedPct"` - RemoteUsedCapacity string `json:"remote_used_capacity" db:"RemoteUsedCapacity"` - Tag string `json:"tag" db:"Tag"` - ErrMsg string `json:"err_msg" db:"ErrMsg"` - Version *string `json:"version" db:"Version"` - Status string `json:"status" db:"Status"` - HeartbeatFailureCounter int `json:"heartbeat_failure_counter" db:"HeartbeatFailureCounter"` - NodeRole string `json:"node_role" db:"NodeRole"` - CpuCores string `json:"cpu_cores" db:"CpuCores"` - Memory string `json:"memory" db:"Memory"` + BackendID string `json:"backend_id" db:"BackendId"` + Host string `json:"host" db:"Host"` + HeartbeatPort int `json:"heartbeat_port" db:"HeartbeatPort"` + BePort int `json:"be_port" db:"BePort"` + HttpPort int `json:"http_port" db:"HttpPort"` + BrpcPort int `json:"brpc_port" db:"BrpcPort"` + ArrowFlightSqlPort int `json:"arrow_flight_sql_port" db:"ArrowFlightSqlPort"` + LastStartTime *string `json:"last_start_time" db:"LastStartTime"` + LastHeartbeat *string `json:"last_heartbeat" db:"LastHeartbeat"` + Alive bool `json:"alive" db:"Alive"` + SystemDecommissioned bool `json:"system_decommissioned" db:"SystemDecommissioned"` + TabletNum int64 `json:"tablet_num" db:"TabletNum"` + DataUsedCapacity string `json:"data_used_capacity" db:"DataUsedCapacity"` + TrashUsedCapacity string `json:"trash_used_capacity" db:"TrashUsedCapacity"` + TrashUsedCapcacity string `json:"trash_used_capcacity" db:"TrashUsedCapcacity"` + AvailCapacity string `json:"avail_capacity" db:"AvailCapacity"` + TotalCapacity string `json:"total_capacity" db:"TotalCapacity"` + UsedPct string `json:"used_pct" db:"UsedPct"` + MaxDiskUsedPct string `json:"max_disk_used_pct" db:"MaxDiskUsedPct"` + RemoteUsedCapacity string `json:"remote_used_capacity" db:"RemoteUsedCapacity"` + Tag string `json:"tag" db:"Tag"` + ErrMsg string `json:"err_msg" db:"ErrMsg"` + Version *string `json:"version" db:"Version"` + Status string `json:"status" db:"Status"` + HeartbeatFailureCounter int `json:"heartbeat_failure_counter" db:"HeartbeatFailureCounter"` + NodeRole string `json:"node_role" db:"NodeRole"` + CpuCores string `json:"cpu_cores" db:"CpuCores"` + Memory string `json:"memory" db:"Memory"` + LiveSince *string `json:"live_since" db:"LiveSince"` + RunningTasks int `json:"running_tasks" db:"RunningTasks"` } type Tag struct { - CloudUniqueId string `json:"cloud_unique_id"` - ComputeGroupStatus string `json:"compute_group_status"` - PrivateEndpoint string `json:"private_endpoint"` - ComputeGroupName string `json:"compute_group_name"` - Location string `json:"location"` - PublicEndpoint string `json:"public_endpoint"` - ComputeGroupId string `json:"compute_group_id"` + CloudUniqueId string `json:"cloud_unique_id"` + ComputeGroupStatus string `json:"compute_group_status"` + PrivateEndpoint string `json:"private_endpoint"` + ComputeGroupName string `json:"compute_group_name"` + Location string `json:"location"` + PublicEndpoint string `json:"public_endpoint"` + ComputeGroupId string `json:"compute_group_id"` } diff --git a/pkg/common/utils/mysql/doris.go b/pkg/common/utils/mysql/doris.go index 68609cdd..75a66882 100644 --- a/pkg/common/utils/mysql/doris.go +++ b/pkg/common/utils/mysql/doris.go @@ -18,11 +18,12 @@ package mysql import ( - _ "github.com/go-sql-driver/mysql" - "k8s.io/klog/v2" "sort" "strconv" "strings" + + _ "github.com/go-sql-driver/mysql" + "k8s.io/klog/v2" ) const ( @@ -81,6 +82,8 @@ type Backend struct { NodeRole string `json:"node_role" db:"NodeRole"` CpuCores string `json:"cpu_cores" db:"CpuCores"` Memory string `json:"memory" db:"Memory"` + LiveSince *string `json:"live_since" db:"LiveSince"` + RunningTasks int `json:"running_tasks" db:"RunningTasks"` } // BuildSeqNumberToFrontendMap