This is my initial analysis - I don't know how to solve it yet, but either someone else will, or I will get back to it at a later date.
This problem appears to be specific to the combination of an in-memory database and MVCC=true, which is on by default in version 1.4.x
The problem is occurring somewhere in the stacktrace below. I suspect it has to do with one of MultiVersionIndex.add(Session, Row) RegularTable.addRow(Session, Row) both which are attempting to do an insert/remove combination. I suspect that one of them is incorrectly restoring state when a unique constraint violation occurs. Thread [H2 Console thread] (Suspended (breakpoint at line 103 in BaseIndex)) owns: Database (id=103) owns: Session (id=104) TreeIndex(BaseIndex).getDuplicateKeyException(String) line: 103 TreeIndex.add(Session, Row) line: 69 MultiVersionIndex.add(Session, Row) line: 59 RegularTable.addRow(Session, Row) line: 120 RegularTable(Table).updateRows(Prepared, Session, RowList) line: 467 Update.update() line: 146 CommandContainer.update() line: 79 CommandContainer(Command).executeUpdate() line: 254 JdbcStatement.executeInternal(String) line: 186 JdbcStatement.execute(String) line: 160 WebThread(WebApp).getResult(Connection, int, String, boolean, boolean) line: 1391 WebThread(WebApp).query(Connection, String, int, int, StringBuilder) line: 1064 WebApp$1.next() line: 1026 WebApp$1.next() line: 1 WebThread.process() line: 168 WebThread.run() line: 94 Thread.run() line: 662 -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to h2-database+unsubscr...@googlegroups.com. To post to this group, send email to h2-database@googlegroups.com. Visit this group at http://groups.google.com/group/h2-database. For more options, visit https://groups.google.com/d/optout.