pingcap / tidb

TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. Try AI-powered Chat2Query free at : https://www.pingcap.com/tidb-serverless/
https://pingcap.com
Apache License 2.0
36.6k stars 5.76k forks source link

v7.5.2(upgrade from 7.1.5) show import jobs report `unknow column summary` #54241

Open D3Hunter opened 3 weeks ago

D3Hunter commented 3 weeks ago

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

[2024/06/25 09:17:18.256 +08:00] [INFO] [conn.go:1116] ["command dispatched failed"] [conn=4080637346] [session_alias=] [connInfo="id:4080637346, addr:172.21.82.187:45984 status:10, collation:utf8_general_ci, user:lightling"] [command=Query] [status="inTxn:0, autocommit:1"] [sql="show import jobs"] [txn_mode=PESSIMISTIC] [timestamp=0] [err="[planner:1054]Unknown column 'summary' in 'field list'\ngithub.com/pingcap/errors.AddStack\n\t/root/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20240318064555-6bd07397691f/errors.go:178\ngithub.com/pingcap/errors.(*Error).GenWithStackByArgs\n\t/root/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20240318064555-6bd07397691f/normalize.go:175\ngithub.com/pingcap/tidb/pkg/planner/core.(*expressionRewriter).toColumn\n\t/workspace/source/tidb/pkg/planner/core/expression_rewriter.go:2204\ngithub.com/pingcap/tidb/pkg/planner/core.(*expressionRewriter).Leave\n\t/workspace/source/tidb/pkg/planner/core/expression_rewriter.go:1258\ngithub.com/pingcap/tidb/pkg/parser/ast.(*ColumnName).Accept\n\t/workspace/source/tidb/pkg/parser/ast/expressions.go:534\ngithub.com/pingcap/tidb/pkg/parser/ast.(*ColumnNameExpr).Accept\n\t/workspace/source/tidb/pkg/parser/ast/expressions.go:596\ngithub.com/pingcap/tidb/pkg/planner/core.(*PlanBuilder).rewriteExprNode\n\t/workspace/source/tidb/pkg/planner/core/expression_rewriter.go:201\ngithub.com/pingcap/tidb/pkg/planner/core.(*PlanBuilder).rewriteWithPreprocess\n\t/workspace/source/tidb/pkg/planner/core/expression_rewriter.go:146\ngithub.com/pingcap/tidb/pkg/planner/core.(*PlanBuilder).buildProjection\n\t/workspace/source/tidb/pkg/planner/core/logical_plan_builder.go:1804\ngithub.com/pingcap/tidb/pkg/planner/core.(*PlanBuilder).buildSelect\n\t/workspace/source/tidb/pkg/planner/core/logical_plan_builder.go:4597\ngithub.com/pingcap/tidb/pkg/planner/core.(*PlanBuilder).Build\n\t/workspace/source/tidb/pkg/planner/core/planbuilder.go:859\ngithub.com/pingcap/tidb/pkg/planner.buildLogicalPlan\n\t/workspace/source/tidb/pkg/planner/optimize.go:576\ngithub.com/pingcap/tidb/pkg/planner.optimize\n\t/workspace/source/tidb/pkg/planner/optimize.go:494\ngithub.com/pingcap/tidb/pkg/planner.Optimize\n\t/workspace/source/tidb/pkg/planner/optimize.go:352\ngithub.com/pingcap/tidb/pkg/executor.(*Compiler).Compile\n\t/workspace/source/tidb/pkg/executor/compiler.go:98\ngithub.com/pingcap/tidb/pkg/session.(*session).ExecuteStmt\n\t/workspace/source/tidb/pkg/session/session.go:2221\ngithub.com/pingcap/tidb/pkg/session.(*session).ExecuteInternal\n\t/workspace/source/tidb/pkg/session/session.go:1657\ngithub.com/pingcap/tidb/pkg/disttask/framework/storage.ExecSQL\n\t/workspace/source/tidb/pkg/disttask/framework/storage/task_table.go:97\ngithub.com/pingcap/tidb/pkg/disttask/framework/storage.(*TaskManager).GetSubtasksForImportInto.func1\n\t/workspace/source/tidb/pkg/disttask/framework/storage/task_table.go:924\ngithub.com/pingcap/tidb/pkg/disttask/framework/storage.(*TaskManager).WithNewTxn.func1\n\t/workspace/source/tidb/pkg/disttask/framework/storage/task_table.go:168\ngithub.com/pingcap/tidb/pkg/disttask/framework/storage.(*TaskManager).WithNewSession\n\t/workspace/source/tidb/pkg/disttask/framework/storage/task_table.go:144\ngithub.com/pingcap/tidb/pkg/disttask/framework/storage.(*TaskManager).WithNewTxn\n\t/workspace/source/tidb/pkg/disttask/framework/storage/task_table.go:150\ngithub.com/pingcap/tidb/pkg/disttask/framework/storage.(*TaskManager).GetSubtasksForImportInto\n\t/workspace/source/tidb/pkg/disttask/framework/storage/task_table.go:913\ngithub.com/pingcap/tidb/pkg/disttask/importinto.GetTaskImportedRows\n\t/workspace/source/tidb/pkg/disttask/importinto/job.go:269\ngithub.com/pingcap/tidb/pkg/executor.handleImportJobInfo\n\t/workspace/source/tidb/pkg/executor/show.go:2300\ngithub.com/pingcap/tidb/pkg/executor.(*ShowExec).fetchShowImportJobs\n\t/workspace/source/tidb/pkg/executor/show.go:2347\ngithub.com/pingcap/tidb/pkg/executor.(*ShowExec).fetchAll\n\t/workspace/source/tidb/pkg/executor/show.go:288\ngithub.com/pingcap/tidb/pkg/executor.(*ShowExec).Next\n\t/workspace/source/tidb/pkg/executor/show.go:131\ngithub.com/pingcap/tidb/pkg/executor/internal/exec.Next\n\t/workspace/source/tidb/pkg/executor/internal/exec/executor.go:283\ngithub.com/pingcap/tidb/pkg/executor.(*ExecStmt).next\n\t/workspace/source/tidb/pkg/executor/adapter.go:1216\ngithub.com/pingcap/tidb/pkg/executor.(*recordSet).Next\n\t/workspace/source/tidb/pkg/executor/adapter.go:156\ngithub.com/pingcap/tidb/pkg/server/internal/resultset.(*tidbResultSet).Next\n\t/workspace/source/tidb/pkg/server/internal/resultset/resultset.go:62"]

it's because we didn't add summary column for the history table, see https://github.com/pingcap/tidb/blob/8bf55a4d6958ecd5a442f19cb13019411bbe0bbf/pkg/session/bootstrap.go#L2819-L2824

new created clusters of version >= 7.5.0 are not affected

a temp workaround is to add the column manually using

ALTER TABLE mysql.tidb_background_subtask_history ADD COLUMN `summary` JSON

2. What did you expect to see? (Required)

3. What did you see instead (Required)

4. What is your TiDB version? (Required)

7.5.2

D3Hunter commented 3 weeks ago

it's introduced in https://github.com/pingcap/tidb/pull/46562, since v7.4.0

D3Hunter commented 3 weeks ago

will fix this after we have enough reserved versions for v8.1, i.e. after @glorv add the gap for https://github.com/pingcap/tidb/pull/54033

kennedy8312 commented 1 day ago

/type regression