Hmmm, I think what is happening here is that when in MVCC mode with
transaction isolation level TRANSACTION_READ_COMMITTED, the session is
somehow seeing LOB entries that have already been deleted.
Thomas, does that ring any bells?
I've been through the code paths that end up in LobStorage,
Using the latest H2 database. When I connect with hibernate in my
persistence.xml (as below:)
?xml version=1.0 encoding=UTF-8?
persistence xmlns=http://java.sun.com/xml/ns/persistence;
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
I'm evaluating H2 in our product, which is under active development, and so
I run it a lot under a debugger (within Eclipse). Pretty much repeatably if
I stop the process by hitting Stop in the debugger the next time I run I
get this error out of H2
Unique index or primary key violation:
It seems the problem is with MVCC.
The test is not failing for 30s on my system with: jdbc:h2:db/test01;MVCC=*
FALSE*;MULTI_THREADED=0;LOCK_MODE=3;LOCK_TIMEOUT=2;
All isolation levels fail for (in the 1-5s
timeframe): jdbc:h2:db/test01;MVCC=*TRUE;*