【 使用环境 】测试环境
【 OB or 其他组件 】oceanbase
【 使用版本 】
【问题描述】在测试环境运行一段时间后,我的日志表中已经有一部分数据,此时在系统中进行操作后,记录日志时,insert语句执行报错:java.sql.SQLException:null Caused By: java.lang.ArrayIndexOutOfBoundsException
出问题的后台springboot应用使用的依赖是mysql-connector-java:8.0.28,出现问题时我的日志表的建表语句如下:
CREATE TABLE sys_log
(
ID
int(11) NOT NULL AUTO_INCREMENT COMMENT ‘ID : 自增ID’,
USER_ID
decimal(10,0) NOT NULL COMMENT ‘操作人ID’,
ADD_TIME
datetime NOT NULL COMMENT ‘创建时间’,
MODULE_NAME
varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT ‘模块名称’,
OPERACTION
varchar(128) COLLATE utf8mb4_bin NOT NULL COMMENT ‘操作’,
IP_ADDR
varchar(32) COLLATE utf8mb4_bin DEFAULT NULL COMMENT ‘客户端IP’,
RTN_CODE
decimal(5,0) NOT NULL COMMENT ‘响应码’,
RTN_MSG
varchar(4096) COLLATE utf8mb4_bin DEFAULT NULL COMMENT ‘响应消息’,
RTN_DATA
longtext COLLATE utf8mb4_bin DEFAULT NULL COMMENT ‘响应数据’,
PRIMARY KEY (ID
)
) AUTO_INCREMENT = 1000020 AUTO_INCREMENT_MODE = ‘ORDER’ DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = DYNAMIC COMPRESSION = ‘zstd_1.3.8’ REPLICA_NUM = 3 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0 COMMENT = ‘系统模块_操作日志’;
【复现路径】在出现问题后,我尝试把表中数据全部截断清空,然后再次新增就又能成功新增进去数据,但运行一段时间后又再次出现这个问题