MyCATApache / Mycat-Server

GNU General Public License v2.0
9.5k stars 3.85k forks source link

[$_NIOREACTOR-7-RW] (io.mycat.net.NIOReactor$RW.run(NIOReactor.java:118)) - caught err:java.lang.NullPointerException #2922

Open goudai opened 2 years ago

goudai commented 2 years ago

1、bug描述 简单清晰描述下bug现象.

2022-08-02 13:47:33.589  WARN [$_NIOREACTOR-7-RW] (io.mycat.net.NIOReactor$RW.run(NIOReactor.java:118)) - caught err:java.lang.NullPointerException
2022-08-02 13:47:33.589  INFO [$_NIOREACTOR-7-RW] (io.mycat.net.AbstractConnection.close(AbstractConnection.java:508)) - close connection,reason:program err:java.lang.NullPointerException ,ServerConnection [id=447990, schema=order_db, host=0.0.0.0, user=xxx,txIsolation=3, autocommit=false, schema=xxx]
2022-08-02 13:47:33.590  INFO [$_NIOREACTOR-7-RW] (io.mycat.net.AbstractConnection.close(AbstractConnection.java:508)) - close connection,reason:client closed  ,MySQLConnection [id=50071, lastTime=1659419253027, user=xxx, schema=xxx2_8, old shema=xxx2_8, borrowed=true, fromSlaveDB=false, threadId=1042010, charset=utf8, txIsolation=3, autocommit=false, attachment=dn_xxx2_8{insert into t_xxx

2、版本号(非常重要)

BuildTime  2016-10-28 12:47:06
GitVersion   460930bb32b0007597796369bc92daa8428d8787
MavenVersion 1.6-RELEASE

3、相关表的配置信息 schema.xml (需包含表的配置信息,mysql的连接驱动是JDBC还是native方式)

        <dataHost name="hostxx" maxCon="1000" minCon="10" balance="0" writeType="0" switchType="1"  slaveThreshold="100" dbType="mysql" dbDriver="native">
                <heartbeat>select user()</heartbeat>
                <writeHost host="hostM1" url="xxx:3306" user="xxx" password="xxx">
                        <readHost host="hostS1" url="xxx:3306" user="xxx" password="xxx" />
                </writeHost>
        </dataHost>

rule.xml (涉及到的路由函数) server.xml(可选)

    <system>
        <property name="useSqlStat">1</property>
        <property name="useGlobleTableCheck">0</property>
        <property name="sequnceHandlerType">2</property>
        <property name="processors">32</property>
        <property name="processorBufferPoolType">0</property>
        <property name="handleDistributedTransactions">0</property>
        <property name="useOffHeapForMerge">1</property>
        <property name="memoryPageSize">1m</property>
        <property name="spillsFileBufferSize">1k</property>
        <property name="useStreamOutput">0</property>
        <property name="systemReserveMemorySize">389m</property>
        <property name="useZKSwitch">true</property>
        <property name="charset">utf8mb4</property>
    </system>
goudai commented 2 years ago

在使用insert into * values(1),(2),(n)情况下触发

zwyqz commented 2 years ago

需要打印出debug日志;