MyCATApache/Mycat-Server

没有释放executeSqlQueue队列,导致客户端假死

whipfeng opened this issue · 0 comments

1、bug描述

类中io.mycat.backend.jdbc.JDBCConnection这段逻辑,前两个分支最终是不是没有释放executeSqlQueue队列,导致客户端假死现象
if ((sqlType == ServerParse.SHOW) && (!dbType.equals("MYSQL"))) {
// showCMD(sc, orgin);
//ShowVariables.execute(sc, orgin);
ShowVariables.execute(sc, orgin,this);
} else if ("SELECT CONNECTION_ID()".equalsIgnoreCase(orgin)) {
//ShowVariables.justReturnValue(sc,String.valueOf(sc.getId()));
ShowVariables.justReturnValue(sc,String.valueOf(sc.getId()),this);
} else {
ouputResultSet(sc, orgin);
}.

2、版本号(非常重要)
main分支

3、相关表的配置信息
schema.xml (JDBC方式连接的sqlite)

4、操作步骤

  1. 客户端连接后执行use TESTDB
  2. show tables卡住不返回
    5、期望结果
    有返回(报错都行).

6、实际结果
卡住假死.

7、额外信息
无.