为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:linux
【CPU】:
【问题描述】*:springboot使用批处理执行sql时,批处理条数过多(也就十几二十的样子),在session.commit()或session.close()时会报错,问题是偶发的,不稳定复现。报错堆栈:
Caused by: java.lang.NullPointerException: null
at dm.jdbc.filter.reconnect.ReconnectFilter.whenErrorInner(SourceFile:169) ~[DmJdbcDriver18-8.1.3.26.jar!/:na]
at dm.jdbc.filter.reconnect.ReconnectFilter.whenError(SourceFile:127) ~[DmJdbcDriver18-8.1.3.26.jar!/:na]
at dm.jdbc.filter.reconnect.ReconnectFilter.Statement_close(SourceFile:9464) ~[DmJdbcDriver18-8.1.3.26.jar!/:na]
at dm.jdbc.filter.FilterChain.Statement_close(SourceFile:8771) ~[DmJdbcDriver18-8.1.3.26.jar!/:na]
at dm.jdbc.driver.DmdbStatement.close(SourceFile:1131) ~[DmJdbcDriver18-8.1.3.26.jar!/:na]
at com.zaxxer.hikari.pool.ProxyStatement.close(ProxyStatement.java:75) ~[HikariCP-4.0.3.jar!/:na]
at org.apache.ibatis.executor.BaseExecutor.closeStatement(BaseExecutor.java:283) ~[mybatis-3.5.7.jar!/:3.5.7]
at org.apache.ibatis.executor.BatchExecutor.doFlushStatements(BatchExecutor.java:156) ~[mybatis-3.5.7.jar!/:3.5.7]
at org.apache.ibatis.executor.BaseExecutor.flushStatements(BaseExecutor.java:129) ~[mybatis-3.5.7.jar!/:3.5.7]
at org.apache.ibatis.executor.BaseExecutor.rollback(BaseExecutor.java:253) ~[mybatis-3.5.7.jar!/:3.5.7]
at org.apache.ibatis.executor.BaseExecutor.close(BaseExecutor.java:87) ~[mybatis-3.5.7.jar!/:3.5.7]
at org.apache.ibatis.executor.CachingExecutor.close(CachingExecutor.java:64) ~[mybatis-3.5.7.jar!/:3.5.7]
at org.apache.ibatis.session.defaults.DefaultSqlSession.close(DefaultSqlSession.java:260) ~[mybatis-3.5.7.jar!/:3.5.7]
jdbc驱动版本提供下