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)

Reply via email to