From f80530a13bb47362ea4550f5e52a40bca06bded8 Mon Sep 17 00:00:00 2001 From: xfan0805 Date: Sat, 25 Jan 2025 12:44:25 +0800 Subject: [PATCH] fix: tdbctl_partition_fix #9208 --- .../mysql/db-partition/service/cron_basic_func.go | 2 +- .../mysql/db-partition/service/manage_config.go | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/dbm-services/mysql/db-partition/service/cron_basic_func.go b/dbm-services/mysql/db-partition/service/cron_basic_func.go index a9b94b902f..50fc0c80cd 100644 --- a/dbm-services/mysql/db-partition/service/cron_basic_func.go +++ b/dbm-services/mysql/db-partition/service/cron_basic_func.go @@ -399,7 +399,7 @@ func GetTendbclusterInstances(cluster string) (map[string][]SpiderNode, int, err } // 查询remote master各分片实例和tdbctl主节点 splitSql := fmt.Sprintf("select HOST,PORT,replace(server_name,'SPT','') as SPLIT_NUM, SERVER_NAME, WRAPPER "+ - "from mysql.servers where wrapper in ('mysql','TDBCTL') and "+ + "from mysql.servers where wrapper in ('mysql') and "+ "(server_name like 'SPT%%' or server_name like '%s')", tdbctlPrimary) queryRequest = QueryRequest{Addresses: []string{address}, Cmds: []string{splitSql}, Force: true, QueryTimeout: 30, BkCloudId: cloud} diff --git a/dbm-services/mysql/db-partition/service/manage_config.go b/dbm-services/mysql/db-partition/service/manage_config.go index fcf5db93d5..3fd24f924d 100644 --- a/dbm-services/mysql/db-partition/service/manage_config.go +++ b/dbm-services/mysql/db-partition/service/manage_config.go @@ -161,9 +161,17 @@ func (m *QueryLogInput) GetPartitionLog() ([]*PartitionLog, int64, error) { slog.Error("cnt sql execute error", cntResult.Error) return nil, 0, cntResult.Error } + + order := clause.OrderByColumn{ + Column: clause.Column{ + Name: "create_time", + }, + Desc: true, + } + // 使用session函数,开启新的会话查询,避免和上面的查询重复(条件,返回字段) result := tx.Session(&gorm.Session{}). - Select("id,create_time as execute_time,check_info,status"). + Select("id,create_time as execute_time,check_info,status").Order(order). Limit(m.Limit).Offset(m.Offset).Find(&allResults) if result.Error != nil { slog.Error("sql execute error", result.Error)