本文介绍通过 OceanBase 数据库的 sys 租户查看 OBProxy 正在连接的会话报 4024 错误时的处理方法。
影响版本
OceanBase 数据库所有版本。
问题现象
登录 OceanBase 数据库的 sys 租户,查看 OBProxy 正在连接的会话失败,错误信息如下。
obclient> SHOW PROXYSESSION;
ERROR 4024 (HY000) : Buffer Not Enough
可能原因
该问题可能是由于会话较多,导致 buffer 内存不足。
解决方式
登录 OceanBase 数据库的 sys 租户。
修改 OBProxy 的配置,调大
internal_cmd_mem_limited参数的值。internal_cmd_mem_limited用于限制 OBProxy 内部的命令响应内存限制,取值范围为 0 ~ 64 MB。取值为 0 表示不限制命令响应的内存,默认为 64 KB。该参数修改后立即生效。obclient> SHOW PROXYCONFIG like '%internal_cmd%'; +--------------------------+-------+--------------------------------------------------------------------+-------------+---------------+ | name | value | info | need_reboot | visible_level | +--------------------------+-------+--------------------------------------------------------------------+-------------+---------------+ | internal_cmd_mem_limited | 64K | internal cmd response memory limited, [0, 64MB], 0 means unlimited | false | USER | +--------------------------+-------+--------------------------------------------------------------------+-------------+---------------+ 1 row in set (0.00 sec) obclient> ALTER PROXYCONFIG SET internal_cmd_mem_limited = '5M';注意
需要在所有 OBProxy 宿主机修改 OBProxy 的配置。