MVCC problem with in-memory H2 in 1.4.200

973 views
Skip to first unread message

Björn Schädlich

unread,
Oct 14, 2019, 5:28:13 AM10/14/19
to H2 Database

Upgrading our project from H2 1.4.199 to 1.4.200, we get an Exception

Caused by:
        org
.h2.jdbc.JdbcSQLNonTransientConnectionException: Datenbank-Verbindungs Option "MVCC" nicht unterst³tzt
       
Unsupported connection setting "MVCC" [90113-200]

while using JDBC URL
jdbc:h2:mem:backendtests;MVCC=TRUE;MODE=PostgreSQL

I can not believe H2 dropped MCVV support for in-memory DBs, because H2 is first choice for unit tests (JUnit, TestNG) which run backend SQL in in-memory H2 for fast tests, but needs MVCC for several scenarios.
Is this a decision (which would be very sad), or an unwanted bug?

Björn Schädlich

unread,
Oct 14, 2019, 5:50:52 AM10/14/19
to H2 Database
Hmm, [1] states that MVStore should support in-memory-usage and MVCC. Perhaps its only a usage problem with correct connection URL params for my case?


Noel Grandin

unread,
Oct 14, 2019, 5:55:27 AM10/14/19
to h2-da...@googlegroups.com
Just drop the MVCC param, it will use MVSTore by default, even for in-mem databases, which is naturally an MVCC engine

Björn Schädlich

unread,
Oct 14, 2019, 6:13:20 AM10/14/19
to H2 Database
Thank you for your fast reply.

Without the MVCC param, I receive some test failures which I don't get with H2 1.4.199. I'll dive into this and post my results

Björn Schädlich

unread,
Oct 14, 2019, 6:33:47 AM10/14/19
to H2 Database
Yeah: Thanks for this great 1.4.200 H2 release:
We had bugs in our tests, which weren't found because of bugs in H2. Now these bugs in H2 are fixed :)

Background: It seems that it could happen in 1.4.199, that being in a schema a select from a table which doesn't exist (being on the wrong schema) could receive a table with the desired name from another schema.

Thanks you very much
Reply all
Reply to author
Forward
0 new messages