obclient异常

ob-ce-4.0.0

$ obclient -h127.0.0.1 -P3308 -uroot@sys -A

obclient [(none)]> SHOW PROXYSESSION;
+----------------------+------+-----------+--------+------+-----------------+------+-------------+-------------------+-------------------+-------+-------+-----------+
| proxy_sessid         | Id   | Cluster   | Tenant | User | Host            | db   | trans_count | svr_session_count | state             | tid   | pid   | using_ssl |
+----------------------+------+-----------+--------+------+-----------------+------+-------------+-------------------+-------------------+-------+-------+-----------+
| 12398427396618584066 |    2 | obcluster | sys    | root | 127.0.0.1:50030 | NULL |           0 |                 1 | MCS_ACTIVE_READER | 30219 | 30219 |         0 |
+----------------------+------+-----------+--------+------+-----------------+------+-------------+-------------------+-------------------+-------+-------+-----------+
1 row in set (0.002 sec)

obclient [(none)]> SHOW PROXYSESSION ATTRIBUTE;
+----------------------------------+----------------------+----------------+
| attribute_name                   | value                | info           |
+----------------------------------+----------------------+----------------+
| proxy_sessid                     | -6048316677090967550 | cs common      |
...
| enable_extra_ok_packet_for_stats | 1                    | last used ss   |
+----------------------------------+----------------------+----------------+
39 rows in set (0.001 sec)

obclient [(none)]> SHOW PROXYSESSION STAT 3;   <---执行这个指令后卡住无响应了,只能kill -9


^C

^M
^X^C^Z
[1]+  Stopped                 obclient -h127.0.0.1 -P3308 -uroot@sys -A
1 个赞

本地复现了问题,抓包发现内部网络包的协议交互有点问题,后续详细分析一下给出结论

1 个赞

验证了一下,是ObProxy回包的问题。可以尝试先在命令行执行 export ENABLE_PROTOCOL_OB20=1 后,再启动obclient,这样obclient和ObProxy会按照mysql协议交互,绕过这个问题。

ObProxy BUG会在定位之后修复。

1 个赞