最近,我将ignite版本升级到了2.10.0。这也需要升级 H2 数据库,因为 H2 对 ignite 有硬依赖。所以我将 H2 数据库更新为 1.4.200。
从那时起,我的测试用例就失败了。
错误日志:-
Caused by: org.h2.jdbc.JdbcSQLNonTransientConnectionException: Unsupported connection setting "MULTI_THREADED" [90113-200]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:622)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:429)
at org.h2.message.DbException.get(DbException.java:205)
at org.h2.message.DbException.get(DbException.java:181)
at org.h2.engine.ConnectionInfo.readSettingsFromURL(ConnectionInfo.java:269)
at org.h2.engine.ConnectionInfo.<init>(ConnectionInfo.java:78)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:152)
at org.h2.Driver.connect(Driver.java:69)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:251)
at org.apache.ignite.internal.processors.query.h2.ConnectionManager.<init>(ConnectionManager.java:118)
... 133 more
我使用 maven 作为我的构建工具。我的 Java 版本是 jdk11.0.9_12。
编辑:
根据H2 版本 1.4.200 发行说明,删除了 MULTI_THREADED 设置,MVStore 引擎始终是多线程的,PageStore 引擎始终是单线程的。
但我没有在我的代码中的任何地方添加 MULTI_THREADED 设置。
编辑:
将 H2 版本更改为 1.4.197 会给出新的异常,如下所示:-
Caused by: org.h2.jdbc.JdbcSQLException: Function "LOCK_MODE" not found; SQL statement:
CALL LOCK_MODE() [90022-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.command.Parser.readJavaFunction(Parser.java:2699)
at org.h2.command.Parser.readFunction(Parser.java:2756)
at org.h2.command.Parser.readTerm(Parser.java:3102)
at org.h2.command.Parser.readFactor(Parser.java:2587)
at org.h2.command.Parser.readSum(Parser.java:2574)
at org.h2.command.Parser.readConcat(Parser.java:2544)
at org.h2.command.Parser.readCondition(Parser.java:2370)
at org.h2.command.Parser.readAnd(Parser.java:2342)
at org.h2.command.Parser.readExpression(Parser.java:2334)
at org.h2.command.Parser.parseCall(Parser.java:4854)
at org.h2.command.Parser.parsePrepared(Parser.java:382)
at org.h2.command.Parser.parse(Parser.java:335)
at org.h2.command.Parser.parse(Parser.java:307)
at org.h2.command.Parser.prepareCommand(Parser.java:278)
at org.h2.engine.Session.prepareLocal(Session.java:611)
at org.h2.engine.Session.prepareCommand(Session.java:549)
at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1251)
at org.h2.jdbc.JdbcConnection.getTransactionIsolation(JdbcConnection.java:815)
at com.zaxxer.hikari.pool.PoolBase.checkDefaultIsolation(PoolBase.java:479)
at com.zaxxer.hikari.pool.PoolBase.checkDriverSupport(PoolBase.java:442)
at com.zaxxer.hikari.pool.PoolBase.setupConnection(PoolBase.java:410)
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:363)
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206)
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:477)
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:560)
... 151 more