java.util.ConcurrentModificationException: undoLog [1.4.180/0]

42 views
Skip to first unread message

thilo...@googlemail.com

unread,
Sep 8, 2014, 12:24:57 AM9/8/14
to h2-da...@googlegroups.com
Hi,

I am building a H2DB of about 10GB size and frequently (let's say about 10% of the time) get the following internal exception:

org.h2.jdbc.JdbcSQLException: General error: "java.util.ConcurrentModificationException: undoLog [1.4.180/0]"; SQL statement:
COMMIT [50000-180]

This does not seem to be dependent on the data, as it does not happen always, even though input data and build script stay the same.

The process to build the database takes a lot of time and the exception seems to occur only at the COMMIT after the biggest INSERT 
(of about 2.5 million records, which takes about an hour to complete).

It says "ConcurrentModificationException", but the database is only opened by one process, and it does not use multiple threads (at least not any that I created, I am just doing INSERT after INSERT).

Can I give you more details somehow? How can I read the trace file that gets created?


Thilo


Noel Grandin

unread,
Sep 18, 2014, 2:17:34 PM9/18/14
to h2-da...@googlegroups.com
what does the full exception look like?
and what does your database URL look like?

Thomas Mueller

unread,
Sep 18, 2014, 2:36:55 PM9/18/14
to H2 Google Group
Hi,

Sorry, for some reason the message was marked as spam for me.

In version 1.4.181, there were quite many changes in the MVStore regarding concurrency. Maybe this issue has already been fixed. Could you retry with version 1.4.181? The reason why there is concurrency at all is that the changes are written in a background thread (concurrently to your application reading and writing).

Regards,
Thomas




On Thu, Sep 18, 2014 at 8:16 PM, Noel Grandin <noelg...@gmail.com> wrote:
what does the full exception look like?
and what does your database URL look like?

--
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...@googlegroups.com.
To post to this group, send email to h2-da...@googlegroups.com.
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages