Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

point_get from binary column partition table get panic #52023

Closed
aytrack opened this issue Mar 22, 2024 · 1 comment · Fixed by #52041
Closed

point_get from binary column partition table get panic #52023

aytrack opened this issue Mar 22, 2024 · 1 comment · Fixed by #52041
Labels
affects-8.0 component/tablepartition This issue is related to Table Partition of TiDB. severity/major sig/sql-infra SIG: SQL Infra type/bug This issue is a bug. type/regression

Comments

@aytrack
Copy link
Contributor

aytrack commented Mar 22, 2024

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

drop table if exists t;
 CREATE TABLE `t` (
  `COL1` binary(1) NOT NULL,
  PRIMARY KEY (`COL1`) /*T![clustered_index] CLUSTERED */
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
PARTITION BY RANGE COLUMNS(`COL1`)
(PARTITION `P0` VALUES LESS THAN (_binary 0x03),
 PARTITION `P4` VALUES LESS THAN (_binary 0xc0),
 PARTITION `PMX` VALUES LESS THAN (MAXVALUE));
select * from t where col1 = 5;

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

query success

3. What did you see instead (Required)

[13:59:26]TiDB root:test>  select * from t where col1 = 5;
(1105, 'runtime error: index out of range [7] with length 0')
[2024/03/22 13:51:57.606 +08:00] [ERROR] [conn.go:1022] ["connection running loop panic"] [conn=1128267782] [session_alias=] [lastSQL="select * from t where col1 = 5"] [err="runtime error: index out of range [7] with length 0"] [stack="github.com/pingcap/tidb/pkg/server.(*clientConn).Run.func1
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/server/conn.go:1025
runtime.gopanic
	/usr/local/go1.21/src/runtime/panic.go:914
github.com/pingcap/tidb/pkg/executor.(*ExecStmt).Exec.func1
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/executor/adapter.go:450
runtime.gopanic
	/usr/local/go1.21/src/runtime/panic.go:914
runtime.goPanicIndex
	/usr/local/go1.21/src/runtime/panic.go:114
encoding/binary.littleEndian.PutUint64
	/usr/local/go1.21/src/encoding/binary/binary.go:108
github.com/pingcap/tidb/pkg/util/chunk.MutRow.SetDatum
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/util/chunk/mutrow.go:301
github.com/pingcap/tidb/pkg/util/chunk.MutRow.SetDatums
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/util/chunk/mutrow.go:288
github.com/pingcap/tidb/pkg/table/tables.(*partitionedTable).locateRangeColumnPartition.func1
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/table/tables/partition.go:1356
sort.Search
	/usr/local/go1.21/src/sort/search.go:65
github.com/pingcap/tidb/pkg/table/tables.(*partitionedTable).locateRangeColumnPartition
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/table/tables/partition.go:1355
github.com/pingcap/tidb/pkg/table/tables.(*partitionedTable).locatePartitionCommon
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/table/tables/partition.go:1290
github.com/pingcap/tidb/pkg/table/tables.(*partitionedTable).locatePartitionIdx
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/table/tables/partition.go:1313
github.com/pingcap/tidb/pkg/table/tables.(*partitionedTable).GetPartitionIdxByRow
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/table/tables/partition.go:1555
github.com/pingcap/tidb/pkg/planner/core.(*PointGetPlan).PrunePartitions
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/planner/core/point_get_plan.go:377
github.com/pingcap/tidb/pkg/executor.(*executorBuilder).buildPointGet
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/executor/point_get.go:54
github.com/pingcap/tidb/pkg/executor.(*executorBuilder).build
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/executor/builder.go:190
github.com/pingcap/tidb/pkg/executor.(*ExecStmt).buildExecutor
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/executor/adapter.go:1154
github.com/pingcap/tidb/pkg/executor.(*ExecStmt).Exec
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/executor/adapter.go:507
github.com/pingcap/tidb/pkg/session.runStmt
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/session/session.go:2376
github.com/pingcap/tidb/pkg/session.(*session).ExecuteStmt
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/session/session.go:2245
github.com/pingcap/tidb/pkg/server.(*TiDBContext).ExecuteStmt
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/server/driver_tidb.go:294
github.com/pingcap/tidb/pkg/server.(*clientConn).handleStmt
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/server/conn.go:2026
github.com/pingcap/tidb/pkg/server.(*clientConn).handleQuery
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/server/conn.go:1779
github.com/pingcap/tidb/pkg/server.(*clientConn).dispatch
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/server/conn.go:1353
github.com/pingcap/tidb/pkg/server.(*clientConn).Run
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/server/conn.go:1123
github.com/pingcap/tidb/pkg/server.(*Server).onConn
	/Users/pingcap/workspace/build-package-tidb-darwin-arm64-72fl5-build-binaries/source/tidb/pkg/server/server.go:751"]

4. What is your TiDB version? (Required)

[14:00:08]TiDB root:test> select tidb_version();
Reconnecting...
+-----------------------------------------------------------+
| tidb_version()                                            |
+-----------------------------------------------------------+
| Release Version: v8.0.0                                   |
| Edition: Community                                        |
| Git Commit Hash: d4740d36fa4a427223a2b67bbdb11aaa2b14bf16 |
| Git Branch: HEAD                                          |
| UTC Build Time: 2024-03-21 07:13:11                       |
| GoVersion: go1.21.6                                       |
| Race Enabled: false                                       |
| Check Table Before Drop: false                            |
| Store: tikv                                               |
+-----------------------------------------------------------+
@aytrack
Copy link
Contributor Author

aytrack commented Mar 22, 2024

introducted by #49161

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affects-8.0 component/tablepartition This issue is related to Table Partition of TiDB. severity/major sig/sql-infra SIG: SQL Infra type/bug This issue is a bug. type/regression
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants