首批通过分布式安全可靠测评,为关键业务系统打造
OBProxy 查询二级分区路由不准确
更新时间:2026-05-14 09:21
问题现象
OceanBase 数据库 V3.2.3 BP4(oceanbase-3.2.3.1-20220805104621)版本升级到 OceanBase 数据库 V3.2.3 BP7(oceanbase-3.2.3.3-107000092023011911)版本后,指定二级 range 分区表各分区的 leader 分布,通过 OBProxy 查询二级分区,发现 SQL 路由不准确,查询总会指向 follower,查询性能受到影响。
通过 OBProxy 找不到表的 location 信息,提示如下信息。
[2023-02-07 15:55:28.208717] INFO [PROXY] ob_route_utils.cpp:420 [547300][Y0-7FD3262BA1A0] [lt=130] [dc=0] can not find table location, empty resultset
问题原因
OBProxy 查询二级分区时,OBServer 端接收请求后未能正确处理默认参数,返回空的路由信息,导致 OBProxy 随机路由。
问题的风险及影响
通过 OBProxy 查询二级分区表时会随机路由,增加查询消耗。对于非二级分区表的查询、不使用 OBProxy 的查询没有影响。
影响的版本
仅影响 OceanBase 数据库 V3.2.3 BP7(oceanbase-3.2.3.3-107000092023011911)版本。
解决方法及规避方式
升级到 OceanBase 数据库 V3.2.3 BP7 Hotfix1(oceanbase-3.2.3.3-107010022023021010)及之后版本。