Hello,
It looks like there is an intermittent bug lurking in 1.4.200. This occured
on a freshly created database during data import performed by a
higher-level routine (i.e. not a H2's RUNSCRIPT). The progress of the
import at the time of crash was around 3.5%:
email.com.gmail.wburzyns.matdb.storage.StorageCrashedException:
email.com.gmail.wburzyns.org.h2.jdbc.JdbcSQLNonTransientConnectionException:
(Message 90030 not found); SQL statement:
INSERT INTO MATDB_DATA VALUES(?, ?, ?) [90030-200]
at
email.com.gmail.wburzyns.matdb.storage.MatDbStorage.dataAdd(MatDbStorage.java:1152)
Caused by:
email.com.gmail.wburzyns.org.h2.jdbc.JdbcSQLNonTransientConnectionException:
(Message 90030 not found); SQL
statement:
INSERT INTO MATDB_DATA VALUES(?, ?, ?) [90030-200]
at
email.com.gmail.wburzyns.org.h2.message.DbException.getJdbcSQLException(DbException.java:622)
at
email.com.gmail.wburzyns.org.h2.message.DbException.getJdbcSQLException(DbException.java:429)
at
email.com.gmail.wburzyns.org.h2.message.DbException.get(DbException.java:194)
at
email.com.gmail.wburzyns.org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:222)
at
email.com.gmail.wburzyns.org.h2.mvstore.db.MVTable.convertException(MVTable.java:714)
at
email.com.gmail.wburzyns.org.h2.mvstore.db.MVPrimaryIndex.add(MVPrimaryIndex.java:133)
at
email.com.gmail.wburzyns.org.h2.mvstore.db.MVTable.addRow(MVTable.java:531)
at
email.com.gmail.wburzyns.org.h2.command.dml.Insert.insertRows(Insert.java:195)
at
email.com.gmail.wburzyns.org.h2.command.dml.Insert.update(Insert.java:151)
at
email.com.gmail.wburzyns.org.h2.command.CommandContainer.update(CommandContainer.java:198)
at
email.com.gmail.wburzyns.org.h2.command.Command.executeUpdate(Command.java:251)
at
email.com.gmail.wburzyns.org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:191)
at
email.com.gmail.wburzyns.org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:152)
at
email.com.gmail.wburzyns.matdb.storage.MatDbStorage.dataAdd(MatDbStorage.java:1145)
Caused by: java.lang.IllegalStateException: File corrupted in chunk
1211, expected page length 4..24576, got
1211773484 [1.4.200/6]
at
email.com.gmail.wburzyns.org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:950)
at
email.com.gmail.wburzyns.org.h2.mvstore.Chunk.readBufferForPage(Chunk.java:368)
at
email.com.gmail.wburzyns.org.h2.mvstore.MVStore.readBufferForPage(MVStore.java:1214)
at
email.com.gmail.wburzyns.org.h2.mvstore.MVStore.readPage(MVStore.java:2209)
at
email.com.gmail.wburzyns.org.h2.mvstore.MVMap.readPage(MVMap.java:672)
at
email.com.gmail.wburzyns.org.h2.mvstore.Page$NonLeaf.getChildPage(Page.java:1043)
at
email.com.gmail.wburzyns.org.h2.mvstore.CursorPos.traverseDown(CursorPos.java:58)
at
email.com.gmail.wburzyns.org.h2.mvstore.MVMap.operate(MVMap.java:1804)
at
email.com.gmail.wburzyns.org.h2.mvstore.tx.TransactionMap.set(TransactionMap.java:301)
at
email.com.gmail.wburzyns.org.h2.mvstore.tx.TransactionMap.putIfAbsent(TransactionMap.java:238)
at
email.com.gmail.wburzyns.org.h2.mvstore.db.MVPrimaryIndex.add(MVPrimaryIndex.java:120)
... 8 more
After from-scratch restart on yet-again created database the import died at
80%:
email.com.gmail.wburzyns.matdb.storage.StorageCrashedException:
email.com.gmail.wburzyns.org.h2.jdbc.JdbcSQLNonTransientException:
(Message 90028 not found); SQL statement:
INSERT INTO MATDB_DATA VALUES(?, ?, ?) [90028-200]
at
email.com.gmail.wburzyns.matdb.storage.MatDbStorage.dataAdd(MatDbStorage.java:1152)
Caused by:
email.com.gmail.wburzyns.org.h2.jdbc.JdbcSQLNonTransientException: (Message
90028 not found); SQL
statement:
INSERT INTO MATDB_DATA VALUES(?, ?, ?) [90028-200]
at
email.com.gmail.wburzyns.org.h2.message.DbException.getJdbcSQLException(DbException.java:505)
at
email.com.gmail.wburzyns.org.h2.message.DbException.getJdbcSQLException(DbException.java:429)
at
email.com.gmail.wburzyns.org.h2.message.DbException.get(DbException.java:194)
at
email.com.gmail.wburzyns.org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:210)
at
email.com.gmail.wburzyns.org.h2.mvstore.db.MVTable.convertException(MVTable.java:714)
at
email.com.gmail.wburzyns.org.h2.mvstore.db.MVPrimaryIndex.add(MVPrimaryIndex.java:133)
at
email.com.gmail.wburzyns.org.h2.mvstore.db.MVTable.addRow(MVTable.java:531)
at
email.com.gmail.wburzyns.org.h2.command.dml.Insert.insertRows(Insert.java:195)
at
email.com.gmail.wburzyns.org.h2.command.dml.Insert.update(Insert.java:151)
at
email.com.gmail.wburzyns.org.h2.command.CommandContainer.update(CommandContainer.java:198)
at
email.com.gmail.wburzyns.org.h2.command.Command.executeUpdate(Command.java:251)
at
email.com.gmail.wburzyns.org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:191)
at
email.com.gmail.wburzyns.org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:152)
at
email.com.gmail.wburzyns.matdb.storage.MatDbStorage.dataAdd(MatDbStorage.java:1145)
Caused by: java.lang.IllegalStateException: Reading from file
split:30:D:/db/200/storage/matfiles.mv.db
failed at 6558115483 (length 6558687232), read 0, remaining 524288
[1.4.200/1]
at
email.com.gmail.wburzyns.org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:950)
at
email.com.gmail.wburzyns.org.h2.mvstore.DataUtils.readFully(DataUtils.java:456)
at
email.com.gmail.wburzyns.org.h2.mvstore.FileStore.readFully(FileStore.java:98)
at
email.com.gmail.wburzyns.org.h2.mvstore.Chunk.readBufferForPage(Chunk.java:361)
at
email.com.gmail.wburzyns.org.h2.mvstore.MVStore.readBufferForPage(MVStore.java:1214)
at
email.com.gmail.wburzyns.org.h2.mvstore.MVStore.readPage(MVStore.java:2209)
at
email.com.gmail.wburzyns.org.h2.mvstore.MVMap.readPage(MVMap.java:672)
at
email.com.gmail.wburzyns.org.h2.mvstore.Page$NonLeaf.getChildPage(Page.java:1043)
at
email.com.gmail.wburzyns.org.h2.mvstore.CursorPos.traverseDown(CursorPos.java:58)
at
email.com.gmail.wburzyns.org.h2.mvstore.MVMap.operate(MVMap.java:1804)
at
email.com.gmail.wburzyns.org.h2.mvstore.tx.TransactionMap.set(TransactionMap.java:301)
at
email.com.gmail.wburzyns.org.h2.mvstore.tx.TransactionMap.putIfAbsent(TransactionMap.java:238)
at
email.com.gmail.wburzyns.org.h2.mvstore.db.MVPrimaryIndex.add(MVPrimaryIndex.java:120)
... 8 more
Caused by: java.io.EOFException
at
email.com.gmail.wburzyns.org.h2.mvstore.DataUtils.readFully(DataUtils.java:444)
... 19 more
Apart from the above all my storage-related tests (~150) with 1.4.200
passed multiple times, so these crashes are somewhat suprising.
Filesystem is local NTFS, database is embedded and hence accessed by a
single process, H2 URL is
"jdbc:h2:split:...;COMPRESS=TRUE;SCOPE_GENERATED_KEYS=TRUE;CACHE_SIZE=131072;MAX_MEMORY_UNDO=100000;MAX_OPERATION_MEMORY=10485760".
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/h2-database/dfbfd770-5651-409f-b1e1-e8e15da03e19%40googlegroups.com.