【TiDB 使用环境】预发环境
CREATE TABLE `ACT_RU_VARIABLE` (
`ID_` varchar(64) NOT NULL,
`REV_` int DEFAULT NULL,
`TYPE_` varchar(255) NOT NULL,
`NAME_` varchar(255) NOT NULL,
`EXECUTION_ID_` varchar(64) DEFAULT NULL,
`PROC_INST_ID_` varchar(64) DEFAULT NULL,
`TASK_ID_` varchar(64) DEFAULT NULL,
`SCOPE_ID_` varchar(255) DEFAULT NULL,
`SUB_SCOPE_ID_` varchar(255) DEFAULT NULL,
`SCOPE_TYPE_` varchar(255) DEFAULT NULL,
`BYTEARRAY_ID_` varchar(64) DEFAULT NULL,
`DOUBLE_` double DEFAULT NULL,
`LONG_` bigint DEFAULT NULL,
`TEXT_` varchar(4000) DEFAULT NULL,
`TEXT2_` varchar(4000) DEFAULT NULL,
`META_INFO_` varchar(4000) DEFAULT NULL,
PRIMARY KEY (`ID_`) /*T![clustered_index] CLUSTERED */,
KEY `ACT_IDX_RU_VAR_SCOPE_ID_TYPE` (`SCOPE_ID_`,`SCOPE_TYPE_`),
KEY `ACT_IDX_RU_VAR_SUB_ID_TYPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`),
KEY `ACT_FK_VAR_BYTEARRAY` (`BYTEARRAY_ID_`),
KEY `ACT_IDX_VARIABLE_TASK_ID` (`TASK_ID_`),
KEY `ACT_FK_VAR_EXE` (`EXECUTION_ID_`),
KEY `ACT_FK_VAR_PROCINST` (`PROC_INST_ID_`),
CONSTRAINT `ACT_FK_VAR_BYTEARRAY` FOREIGN KEY (`BYTEARRAY_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`),
CONSTRAINT `ACT_FK_VAR_EXE` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`),
CONSTRAINT `ACT_FK_VAR_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
表的数据量是66万左右
报错:
[2026/01/11 11:59:38.191 +00:00] [Error] [conn.go:1042] [“connection running loop panic”] [conn=677627120] [session_alias=] [lastSQL=“select * from ACT_RU_VARIABLE WHERE TASK_ID_ = ‘2010320694529245184’”] [err=“runtime error: invalid memory address or nil pointer dereference”] [stack="github.com/pingcap/tidb/pkg/server.(*clientConn).Run.func1\n\t/workspace/source/tidb/pkg/server/conn.go
下面两条check语句没有任何数据返回:
ADMIN CHECK TABLE ACT_RU_VARIABLE;
ADMIN CHECK INDEX ACT_RU_VARIABLE ACT_IDX_VARIABLE_TASK_ID;
临时处理方案:
ALTER TABLE ACT_RU_VARIABLE DROP INDEX ACT_IDX_VARIABLE_TASK_ID;
ALTER TABLE ACT_RU_VARIABLE ADD INDEX ACT_IDX_VARIABLE_TASK_ID (TASK_ID_);