执行特定sql语句后无法连接数据库

环境/版本:docker oceanbase/oceanbase-ce:4.3.5-lts 镜像
当执行以下sql语句后断开连接,observer疑似无响应,无法再次连接

CREATE TABLE IF NOT EXISTS t0 (c1 MEDIUMINT);
INSERT IGNORE INTO t0 (c1) VALUES (1715290);
SELECT t0.c1 AS ca1 FROM t0 WHERE (ADDDATE('2002-10-02 20:40:36', INTERVAL TO_SECONDS('2002-10-02 20:40:36') YEAR_MONTH)) IS NULL;
1 个赞

请问这种sql功能bug是应该提交到这里吗?

2 个赞

麻烦截图看一下,这边并未复现出

2 个赞

函数使用上感觉并不是很合理TO_SECONDS转化为秒后跟YEAR_MONTH
ADDDATE(‘2002-10-02 20:40:36’, INTERVAL TO_SECONDS(‘2002-10-02 20:40:36’) YEAR_MONTH)

1 个赞

应该是因为INTERVAL的参数太大了导致的。

SELECT ADDDATE('2002-10-02 20:40:36', INTERVAL 63200810436 YEAR_MONTH);

就可以复现
我使用的是docker部署的具体为
镜像版本oceanbase/oceanbase-ce:4.3.5-lts
具体环境
OS Version and CPU Arch( uname -a ):
Linux a898a4c3bc12 6.6.87.2-microsoft-standard-WSL2 #1 SMP PREEMPT_DYNAMIC Thu Jun 5 18:30:46 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
OB Version( LD LIBRARY PATH=…/lib:$LD LIBRARY PATH ./observer -V ):
observer (OceanBase_CE 4.3.5.4)

REVISION: 104000042025090916-5cf5b925a25bf888aebaa288e251b85b1924e98a
BUILD_BRANCH: HEAD
BUILD_TIME: Sep 9 2025 17:07:11
BUILD_FLAGS: RelWithDebInfo
BUILD_INFO:

使用mysql客户端连接,执行sql后,连接断开且,服务宕机,docker logs没有显示任何信息

1 个赞

我再补充一个完整的过程。
windows11 docker使用oceanbase/oceanbase-ce:4.3.5-lts镜像
运行命令为docker run -p 2881:2881 --name oceanbase-ce1 -e MINI_MODE=1 -d oceanbase/oceanbase-ce:4.3.5-lts
使用OceanBase 开发者中心连接
运行SELECT ADDDATE(‘2002-10-02 20:40:36’, INTERVAL 63200810436 YEAR_MONTH);

1 个赞


本地435bp4执行会提示超出范围。

1 个赞

435bp4是指什么?

和你的版本一样的。
observer (OceanBase_CE 4.3.5.4)

我刚刚测了一下,docker上oceanbase的4.2.5-lts版本确实和您看到的现象一样提示超出范围,但是4.3.5-lts镜像,我在多台机器上进行测试,都会直接宕机

这边复现出来了,反馈给研发同学分析下

是个已知bug,测试435bp5未报错。本周三发布435bp5版本

请问原bug的提交在哪里了,我之前没有搜索到。我想看看然后避免给您们增加重复劳动

这种bug是在内部平台记录的