首批通过分布式安全可靠测评,为关键业务系统打造
OceanBase 数据库 V4.x 版本扩容报错,在执行 SQL 时报错4016,server id maybe invalid 的原因和解决方法
更新时间:2025-03-02 07:01
问题现象
1-1 的集群,通过 OCP 扩容到1-1-1,在扩容的时候失败,看报错是在执行 SQL 时报了内部错误。
问题原因
通过查询内部视图发现新加节点的 server_id 异常的大,SQL 在创建 session 的时候,严格限制了 server_id 不能大于 4096,导致新加机器不能查询,进而导致报错。
关键日志信息如下。
[2024-04-29 15:13:34.172524] EDIAG [SQL] create_sessid (ob_sql_session_mgr.cpp:343) [461874][sql_nio0][T0][Y0-0000000000000000-0-0] [lt=34][errcode=-4016] server id maybe invalid(ret=-4016, server_id=5516) BACKTRACE:0x126707bd 0x7475522 0x7474fe4 0x7474c72 0x74541fb 0xe0a830e 0xe0a8077 0x9e7009b 0x138063df 0x52af6e7 0x12d53ea7 0x7f2d03c0aea5 0x7f2d0393396d
问题的风险及影响
新加 OBServer 失败。
影响租户
影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。
适用版本
OceanBase 数据库 V4.x 版本。
解决方法
请联系 OceanBase 技术支持,修改内部表处理。