暂无图片
OB 资源池大小写导致的bug
我来答
分享
暂无图片 匿名用户
OB 资源池大小写导致的bug

创建租户的时候存在字符串的字母相同,但是只是大小写不同的资源池,创建租户时报错,

obclient [oceanbase]> CREATE TENANT IF NOT EXISTS sp1 CHARSET='utf8mb4', ZONE_LIST=('obzone1','obzone2','obzone3'), PRIMARY_ZONE='obzone1,obzone2,obzone3;', RESOURCE_POOL_LIST=('Aaaaaaaa_pool_obzone1','Aaaaaaaa_pool_obzone2','Aaaaaaaa_pool_obzone3') , LOCALITY='FULL{1}@obzone1,FULL{1}@obzone2,FULL{1}@obzone3', COLLATE = utf8mb4_general_ci SET VARIABLES ob_tcp_invited_nodes = '%',ob_compatibility_mode = 'MySQL'
    -> ;
ERROR 1242 (21000): Subquery returns more than 1 row

通过SQL 语句查询资源池信息,发现查出来的结果不区分大小写

obclient [oceanbase]> select * from dba_ob_resource_pools where name='Aaaaaaaa_pool_obzone1';
+------------------+-----------------------+-----------+----------------------------+----------------------------+------------+----------------+-----------+--------------+
| RESOURCE_POOL_ID | NAME                  | TENANT_ID | CREATE_TIME                | MODIFY_TIME                | UNIT_COUNT | UNIT_CONFIG_ID | ZONE_LIST | REPLICA_TYPE |
+------------------+-----------------------+-----------+----------------------------+----------------------------+------------+----------------+-----------+--------------+
|             1001 | aaaaAAAA_pool_obzone1 |      1002 | 2023-11-30 10:56:22.064387 | 2023-11-30 10:56:24.336200 |          1 |           1001 | obzone1   | FULL         |
|             1004 | Aaaaaaaa_pool_obzone1 |      NULL | 2023-11-30 11:10:10.538214 | 2023-11-30 14:49:20.423892 |          1 |           1004 | obzone1   | FULL         |
+------------------+-----------------------+-----------+----------------------------+----------------------------+------------+----------------+-----------+--------------+
2 rows in set (0.022 sec)
我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
O
OceanBase社区传送门

应该是oceanbase.__all_resource_pool 这张表的字符排序问题,导致查询的时候没有区分大小写查出两个相同的资源池名字

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏