超时试图锁定表" SYS"

时间:2014-10-22 15:42:27

标签: h2

使用h2版本h2-1.3.176(在内存中使用db,也可以使用本地存储,也可以使用tcp / ip) 我有奇怪的锁,见下文。

连接示例:jdbc:h2:mem:test1; MVCC = TRUE; LOCK_TIMEOUT = 30000 这不是一个超时问题,因为该程序被无限期锁定。

我注意到在创建临时表后错误开始了:create temporary table就好了,但是在一些ddl查询之后,出现了错误。 如果我不创建任何临时表,那就没有错误。

PS:我不能使用H2 1.4,因为它不稳定:在那个版本中我有错误“java.lang.IllegalStateException:Chunk XYZ not found”

Timeout trying to lock table "SYS"; SQL statement:
CREATE TABLE TestCalcField1(
a  VARCHAR(255),
b  VARCHAR(255),
i  INTEGER ,
j  INTEGER  ) [50200-176]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
    at org.h2.message.DbException.get(DbException.java:178)
    at org.h2.message.DbException.get(DbException.java:154)
    at org.h2.table.RegularTable.doLock(RegularTable.java:530)
    at org.h2.table.RegularTable.lock(RegularTable.java:464)
    at org.h2.engine.Database.lockMeta(Database.java:869)
    at org.h2.command.ddl.CreateTable.update(CreateTable.java:134)
    at org.h2.command.CommandContainer.update(CommandContainer.java:79)
    at org.h2.command.Command.executeUpdate(Command.java:254)
    at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:132)
    at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:117)
    at it.novabyte.ntools.database.NQuery.executeUpdateSQL(NQuery.java:640)
    ... 21 more

0 个答案:

没有答案