Svetlin Zarev created TOMEE-2062: ------------------------------------ Summary: HSQLDB Deadlock Key: TOMEE-2062 URL: https://issues.apache.org/jira/browse/TOMEE-2062 Project: TomEE Issue Type: Bug Reporter: Svetlin Zarev
I was running tests with eclipselink on my vanilla tomee when it just froze during one of the tests. After a little bit of debugging and research it turned out to be a well known issue with HSQLDB: [1] {code} The default transaction model is LOCKS which locks a table that is modified until the transaction is committed. You can use the MVCC model instead, which allows other sessions to read from the table and to modify rows that have not been modified. {code} The solution as stated in the SO answer is to add ;hsqldb.tx=mvcc to the hsqldb connection string. IMO it would make sense add this to the default connection string specified in tomee-webapp's service-jar.xml, so it becomes: {code} <ServiceProvider id="Default JDBC Database" parent="org.apache.openejb:Default JDBC Database"> JdbcUrl=jdbc:hsqldb:file:data/hsqldb/hsqldb;hsqldb.tx=mvcc </ServiceProvider> <ServiceProvider id="Default Unmanaged JDBC Database" parent="org.apache.openejb:Default Unmanaged JDBC Database"> JdbcUrl=jdbc:hsqldb:file:data/hsqldb/hsqldb;hsqldb.tx=mvcc </ServiceProvider> {code} [1] https://stackoverflow.com/a/16109062/2588800 -- This message was sent by Atlassian JIRA (v6.4.14#64029)