Skip to content

Commit 5aae795

Browse files
committed
fix: kill distributed task queue session
1 parent 1c3b1a2 commit 5aae795

File tree

5 files changed

+99
-4
lines changed

5 files changed

+99
-4
lines changed

docs/docs.go

+35
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,41 @@ var doc = `{
341341
}
342342
}
343343
},
344+
"/api/v2/ck/ddl_queue/{clusterName}": {
345+
"get": {
346+
"security": [
347+
{
348+
"ApiKeyAuth": []
349+
}
350+
],
351+
"description": "查询分布式DDL",
352+
"consumes": [
353+
"application/json"
354+
],
355+
"tags": [
356+
"clickhouse"
357+
],
358+
"summary": "查询分布式DDL",
359+
"parameters": [
360+
{
361+
"type": "string",
362+
"default": "test",
363+
"description": "cluster name",
364+
"name": "clusterName",
365+
"in": "path",
366+
"required": true
367+
}
368+
],
369+
"responses": {
370+
"200": {
371+
"description": "{\"code\":\"0000\",\"msg\":\"ok\",\"data\":[{\"startTime\":1609986493,\"queryDuration\":145,\"query\":\"select * from dist_sensor_dt_result_online limit 10000\",\"user\":\"default\",\"queryId\":\"8aa3de08-92c4-4102-a83d-2f5d88569dab\",\"address\":\"::1\",\"threads\":2}]}",
372+
"schema": {
373+
"type": "string"
374+
}
375+
}
376+
}
377+
}
378+
},
344379
"/api/v2/ck/destroy/{clusterName}": {
345380
"put": {
346381
"security": [

docs/swagger.json

+35
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,41 @@
325325
}
326326
}
327327
},
328+
"/api/v2/ck/ddl_queue/{clusterName}": {
329+
"get": {
330+
"security": [
331+
{
332+
"ApiKeyAuth": []
333+
}
334+
],
335+
"description": "查询分布式DDL",
336+
"consumes": [
337+
"application/json"
338+
],
339+
"tags": [
340+
"clickhouse"
341+
],
342+
"summary": "查询分布式DDL",
343+
"parameters": [
344+
{
345+
"type": "string",
346+
"default": "test",
347+
"description": "cluster name",
348+
"name": "clusterName",
349+
"in": "path",
350+
"required": true
351+
}
352+
],
353+
"responses": {
354+
"200": {
355+
"description": "{\"code\":\"0000\",\"msg\":\"ok\",\"data\":[{\"startTime\":1609986493,\"queryDuration\":145,\"query\":\"select * from dist_sensor_dt_result_online limit 10000\",\"user\":\"default\",\"queryId\":\"8aa3de08-92c4-4102-a83d-2f5d88569dab\",\"address\":\"::1\",\"threads\":2}]}",
356+
"schema": {
357+
"type": "string"
358+
}
359+
}
360+
}
361+
}
362+
},
328363
"/api/v2/ck/destroy/{clusterName}": {
329364
"put": {
330365
"security": [

docs/swagger.yaml

+23
Original file line numberDiff line numberDiff line change
@@ -853,6 +853,29 @@ paths:
853853
summary: 修改集群配置
854854
tags:
855855
- clickhouse
856+
/api/v2/ck/ddl_queue/{clusterName}:
857+
get:
858+
consumes:
859+
- application/json
860+
description: 查询分布式DDL
861+
parameters:
862+
- default: test
863+
description: cluster name
864+
in: path
865+
name: clusterName
866+
required: true
867+
type: string
868+
responses:
869+
"200":
870+
description: '{"code":"0000","msg":"ok","data":[{"startTime":1609986493,"queryDuration":145,"query":"select
871+
* from dist_sensor_dt_result_online limit 10000","user":"default","queryId":"8aa3de08-92c4-4102-a83d-2f5d88569dab","address":"::1","threads":2}]}'
872+
schema:
873+
type: string
874+
security:
875+
- ApiKeyAuth: []
876+
summary: 查询分布式DDL
877+
tags:
878+
- clickhouse
856879
/api/v2/ck/destroy/{clusterName}:
857880
put:
858881
consumes:

service/clickhouse/clickhouse_service.go

+5-3
Original file line numberDiff line numberDiff line change
@@ -1219,7 +1219,7 @@ func GetCkOpenSessions(conf *model.CKManClickHouseConfig, limit int) ([]*model.C
12191219
}
12201220

12211221
func GetDistibutedDDLQueue(conf *model.CKManClickHouseConfig) ([]*model.CkSessionInfo, error) {
1222-
query := fmt.Sprintf("select query_create_time, query, host, initiator_host, entry from cluster('{cluster}', system.distributed_ddl_queue) where cluster = '%s' and status != 'Finished' ORDER BY query_create_time", conf.Cluster)
1222+
query := fmt.Sprintf("select DISTINCT query_create_time, query, host, initiator_host, entry from cluster('{cluster}', system.distributed_ddl_queue) where cluster = '%s' and status != 'Finished' ORDER BY query_create_time", conf.Cluster)
12231223
log.Logger.Debugf("query:%s", query)
12241224
service := NewCkService(conf)
12251225
err := service.InitCkService()
@@ -1264,7 +1264,7 @@ func KillCkOpenSessions(conf *model.CKManClickHouseConfig, host, queryId, typ st
12641264
FROM
12651265
(
12661266
SELECT
1267-
(extractAllGroups(value, '(\\w+\\.\\w+) UUID')[1])[1] AS table,
1267+
(extractAllGroups(value, 'TABLE (\\w+\\.\\w+) ')[1])[1] AS table,
12681268
(extractAllGroups(value, 'initial_query_id: (.*)\n')[1])[1] AS initial_query_id
12691269
FROM system.zookeeper
12701270
WHERE (path = '/clickhouse/task_queue/ddl/%s') AND (name = '%s')
@@ -1281,7 +1281,8 @@ func KillCkOpenSessions(conf *model.CKManClickHouseConfig, host, queryId, typ st
12811281
log.Logger.Debugf(query)
12821282
err = conn.QueryRow(query).Scan(&query_id)
12831283
if err == nil {
1284-
query = fmt.Sprintf("KILL QUERY WHERE query_id = '%s'", queryId)
1284+
query = fmt.Sprintf("KILL QUERY WHERE query_id = '%s'", query_id)
1285+
log.Logger.Debugf(query)
12851286
err = conn.Exec(query)
12861287
if err != nil {
12871288
return errors.Wrap(err, "")
@@ -1297,6 +1298,7 @@ func KillCkOpenSessions(conf *model.CKManClickHouseConfig, host, queryId, typ st
12971298
}
12981299
if count > 0 {
12991300
query = fmt.Sprintf("KILL MUTATION WHERE database = '%s' AND table = '%s'", database, table)
1301+
log.Logger.Debugf(query)
13001302
err = conn.Exec(query)
13011303
if err != nil {
13021304
return errors.Wrap(err, "")

0 commit comments

Comments
 (0)