h2: Тайм-аут при попытке заблокировать таблицу - PullRequest
0 голосов
/ 05 июля 2019

Я написал несколько тестовых примеров, которые обращаются к таблице h2. Сбой одного из тестовых случаев со следующей ошибкой

### Error updating database.  Cause: org.h2.jdbc.JdbcSQLException: Timeout trying to lock table ; SQL statement:
INSERT INTO ABC.MY_TABLE(
    COL1,
    COL2
    )
    VALUES(
    ?,
    ?
    ) [50200-197]
### The error may involve com.abc.api.dao.MyMapper.addDataInTable-Inline
### The error occurred while setting parameters
...
org.apache.ibatis.exceptions.PersistenceException: 
...
Caused by: org.h2.jdbc.JdbcSQLException: Concurrent update in table "MY_TABLE": another transaction has updated or deleted the same row [90131-197]

Я пробовал упомянутые решения здесь . Я пытался

private static DataSource dataSource  = new DriverManagerDataSource("jdbc:h2:mem:ODS;MODE=Oracle;DB_CLOSE_DELAY=-1;MVCC=true");

и

private static DataSource dataSource  = new DriverManagerDataSource("jdbc:h2:mem:ODS;MODE=Oracle;DB_CLOSE_DELAY=-1;MVCC=true;DEFAULT_LOCK_TIMEOUT=10000");

и даже

private static DataSource dataSource  = new DriverManagerDataSource("jdbc:h2:mem:ODS;MODE=Oracle;DB_CLOSE_DELAY=-1;AUTOCOMMIT=ON");

Но это не сработало. Может ли кто-нибудь помочь мне с этим?

...