Skip to content

query analyze_status table got panic #48835

@aytrack

Description

@aytrack

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

  1. disable auto analyze
  2. write some data with partition table
  3. enable analyze
  4. query analyze status
  5. wait some time, query again

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

query analyze status success

3. What did you see instead (Required)

query information_schema.analyze_status got panic, wait some time query again and query success

2023/06/08 11:22:01.735 +08:00] [INFO] [owner_daemon.go:56] ["daemon became owner"] [id=9caa5755-4f21-4325-ba08-e3f3211aa223] [daemon-id=LogBackup::Advancer]
[2023/06/08 11:22:06.471 +08:00] [WARN] [collate.go:221] ["The collation latin1_swedish_ci specified on connection is not supported when new collation is enabled, switch to the default collation: utf8mb4_bin"]
[2023/06/08 11:23:38.668 +08:00] [INFO] [set.go:161] ["set global var"] [conn=5585158429288169529] [name=tidb_enable_auto_analyze] [val=ON]
[2023/06/08 11:23:40.755 +08:00] [INFO] [update.go:1182] ["[stats] auto analyze triggered"] [sql="analyze table `xxx`.`xxx`"] [reason="table unanalyzed"]
[2023/06/08 11:23:41.420 +08:00] [INFO] [coprocessor.go:1270] ["[TIME_COP_PROCESS] resp_time:643.755824ms txnStartTS:18446744073709551615 region_id:110 store_addr:tikv-1-peer:20160 kv_process_ms:549 kv_wait_ms:0 kv_read_ms:0 processed_versions:12000 total_versions:12001 rocksdb_delete_skipped_count:0 rocksdb_key_skipped_count:23999 rocksdb_cache_hit_count:0 rocksdb_read_count:0 rocksdb_read_byte:0"]
[2023/06/08 11:23:44.844 +08:00] [INFO] [handle.go:1425] ["[stats] incrementally update modifyCount"] [tableID=90] [curModifyCnt=12000] [results.BaseModifyCnt=12000] [modifyCount=0]
[2023/06/08 11:23:44.844 +08:00] [INFO] [handle.go:1447] ["[stats] directly update count"] [tableID=90] [results.Count=12000] [count=12000]
[2023/06/08 11:23:46.561 +08:00] [ERROR] [adapter.go:148] ["execute sql panic"] [conn=5585158429288169531] [sql="select * from information_schema.analyze_status where table_schema = 'xxx' and table_name = 'xxx' and job_info like 'auto analyze %' and start_time >= '2023-06-07 16:11:06' order by start_time limit 1"] [stack="github.com/pingcap/tidb/executor.(*recordSet).Next.func1
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:148
runtime.gopanic
	/usr/local/go/src/runtime/panic.go:884
runtime.goPanicIndex
	/usr/local/go/src/runtime/panic.go:113
github.com/pingcap/tidb/util/chunk.setMutRowBytes
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/util/chunk/mutrow.go:335
github.com/pingcap/tidb/util/chunk.MutRow.SetDatum
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/util/chunk/mutrow.go:305
github.com/pingcap/tidb/util/chunk.MutRow.SetDatums
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/util/chunk/mutrow.go:288
github.com/pingcap/tidb/executor.(*MemTableReaderExec).Next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/memtable_reader.go:131
github.com/pingcap/tidb/executor.Next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:329
github.com/pingcap/tidb/executor.(*SelectionExec).Next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:1707
github.com/pingcap/tidb/executor.Next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:329
github.com/pingcap/tidb/executor.(*TopNExec).loadChunksUntilTotalLimit
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/sort.go:440
github.com/pingcap/tidb/executor.(*TopNExec).Next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/sort.go:406
github.com/pingcap/tidb/executor.Next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:329
github.com/pingcap/tidb/executor.(*ExecStmt).next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:1195
github.com/pingcap/tidb/executor.(*recordSet).Next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:151
github.com/pingcap/tidb/server.(*tidbResultSet).Next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/driver_tidb.go:428
github.com/pingcap/tidb/server.(*clientConn).writeChunks
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:2326
github.com/pingcap/tidb/server.(*clientConn).writeResultSet
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:2269
github.com/pingcap/tidb/server.(*clientConn).handleStmt
    /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:2142
github.com/pingcap/tidb/server.(*clientConn).handleQuery
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:1903
github.com/pingcap/tidb/server.(*clientConn).dispatch
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:1390
github.com/pingcap/tidb/server.(*clientConn).Run
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:1170
github.com/pingcap/tidb/server.(*Server).onConn
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/server.go:670"]
[2023/06/08 11:23:46.561 +08:00] [INFO] [conn.go:1201] ["command dispatched failed"] [conn=5585158429288169531] [connInfo="id:5585158429288169531, addr:127.0.0.1:34590 status:10, collation:latin1_swedish_ci, user:root"] [command=Query] [status="inTxn:0, autocommit:1"] [sql="select * from information_schema.analyze_status where table_schema = 'xxx' and table_name = 'xxx' and job_info like 'auto analyze %' and start_time >= '2023-06-07 16:11:06' order by start_time limit 1"] [txn_mode=PESSIMISTIC] [timestamp=0] [err="runtime error: index out of range [1] with length 0
github.com/pingcap/tidb/executor.(*recordSet).Next.func1
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:147
runtime.gopanic
	/usr/local/go/src/runtime/panic.go:884
runtime.goPanicIndex
	/usr/local/go/src/runtime/panic.go:113
github.com/pingcap/tidb/util/chunk.setMutRowBytes
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/util/chunk/mutrow.go:335
github.com/pingcap/tidb/util/chunk.MutRow.SetDatum
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/util/chunk/mutrow.go:305
github.com/pingcap/tidb/util/chunk.MutRow.SetDatums
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/util/chunk/mutrow.go:288
github.com/pingcap/tidb/executor.(*MemTableReaderExec).Next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/memtable_reader.go:131
github.com/pingcap/tidb/executor.Next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:329
github.com/pingcap/tidb/executor.(*SelectionExec).Next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:1707
github.com/pingcap/tidb/executor.Next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:329
github.com/pingcap/tidb/executor.(*TopNExec).loadChunksUntilTotalLimit
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/sort.go:440
github.com/pingcap/tidb/executor.(*TopNExec).Next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/sort.go:406
github.com/pingcap/tidb/executor.Next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:329
github.com/pingcap/tidb/executor.(*ExecStmt).next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:1195
github.com/pingcap/tidb/executor.(*recordSet).Next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:151
github.com/pingcap/tidb/server.(*tidbResultSet).Next
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/driver_tidb.go:428
github.com/pingcap/tidb/server.(*clientConn).writeChunks
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:2326
github.com/pingcap/tidb/server.(*clientConn).writeResultSet
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:2269
github.com/pingcap/tidb/server.(*clientConn).handleStmt
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:2142
github.com/pingcap/tidb/server.(*clientConn).handleQuery
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:1903
github.com/pingcap/tidb/server.(*clientConn).dispatch
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:1390
github.com/pingcap/tidb/server.(*clientConn).Run
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:1170
github.com/pingcap/tidb/server.(*Server).onConn
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/server.go:670
runtime.goexit
	/usr/local/go/src/runtime/asm_amd64.s:1598"]
[2023/06/08 11:23:50.390 +08:00] [INFO] [2pc.go:685] ["[BIG_TXN]"] [session=0] ["key sample"=7480000000000000165f698000000000000001040622641a18b80007038000000000000001] [size=6637194] [keys=94797] [puts=94618] [dels=178] [locks=1] [checks=0] [txnStartTS=442025803708628993]
[2023/06/08 11:23:50.683 +08:00] [INFO] [analyze.go:589] ["analyze table `xxx`.`xxx` has finished"] [partition=] ["job info"="auto analyze table all columns with 256 buckets, 500 topn, 1 samplerate"] ["start time"=2023/06/08 11:23:40.774 +08:00] ["end time"=2023/06/08 11:23:50.679 +08:00] [cost=9.904442555s]

4. What is your TiDB version? (Required)

MySQL [(none)]> select tidb_version();
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tidb_version()                                                                                                                                                                                                                                                             |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Release Version: v7.2.0-alpha
Edition: Community
Git Commit Hash: 20a442fead53a37e7cda1e3acf6ae2368b34347a
Git Branch: heads/refs/tags/v7.2.0-alpha
UTC Build Time: 2023-06-07 14:34:14
GoVersion: go1.20.3
Race Enabled: false
Check Table Before Drop: false
Store: tikv |
+---------------------------------------

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions