Hi Thomas and list,

After investigating another corruption yesterday, we noticed something
strange: a few minutes before the DB was found corrupt there was a Volume
Shadow Copy created for the drive where our H2 files are located.

Apparantly there are multiple reports on the internet that suspect DB's can
get corrupted during a Volume Shadow copy creation (thus the original DB
gets corrupted, not just the copy), though most are unconfirmed and just
suspicions:
IBM ClearCase VOB:
http://www-01.ibm.com/support/docview.wss?uid=swg21268722
Firebird:
https://www.mail-archive.com/[email protected]/msg10672.html
https://groups.yahoo.com/neo/groups/firebird-support/conversations/messages/83269
C-tree:
http://optiable.com/pclaw-vss-causes-data-loss/
Access:
http://www.pcreview.co.uk/threads/volume-shadow-copy-access-corruption.1094172/

Could that also possibly lead to a problem in H2?

I'll include the corruption stacktrace from right after the Volume Shadow
Copy. H2 was trying to do a commit. This was on a Windows 8.1 6.3 amd64
machine running Java 1.7.0_60 64.

We have also checked several instances of H2 corruptions (5) for Volume
Shadow copy creations while our application was running:

   - 2 had a Volume Shadow copy taken previously that day
   - 1 had it taken 2 days before
   - 1 had it taken 2 weeks before
   - 1 didn't appear to have had a shadow copy taken while our application
   was running


Regards,
Rob.

-- 
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 post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.
java.lang.RuntimeException: org.h2.jdbc.JdbcSQLException: General error: "java.lang.RuntimeException: log.removeUntil not found: 4095476 last 4082052"; SQL statement:
COMMIT [50000-176]
	[...]
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.h2.jdbc.JdbcSQLException: General error: "java.lang.RuntimeException: log.removeUntil not found: 4095476 last 4082052"; SQL statement:
COMMIT [50000-176]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
	at org.h2.message.DbException.get(DbException.java:167)
	at org.h2.message.DbException.convert(DbException.java:294)
	at org.h2.message.DbException.toSQLException(DbException.java:267)
	at org.h2.message.TraceObject.logAndConvert(TraceObject.java:372)
	at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:149)
	at org.h2.store.LobStorageBackend.setTable(LobStorageBackend.java:595)
	at org.h2.value.ValueLobDb.unlink(ValueLobDb.java:236)
	at org.h2.engine.Session.endTransaction(Session.java:547)
	at org.h2.engine.Session.commit(Session.java:532)
	at org.h2.command.dml.TransactionCommand.update(TransactionCommand.java:47)
	at org.h2.command.CommandContainer.update(CommandContainer.java:79)
	at org.h2.command.Command.executeUpdate(Command.java:254)
	at org.h2.jdbc.JdbcConnection.commit(JdbcConnection.java:467)
	[...]
	... 4 more
Caused by: java.lang.RuntimeException: log.removeUntil not found: 4095476 last 4082052
	at org.h2.message.DbException.throwInternalError(DbException.java:241)
	at org.h2.store.PageLog.removeUntil(PageLog.java:750)
	at org.h2.store.PageLog.removeUntil(PageLog.java:725)
	at org.h2.store.PageStore.checkpoint(PageStore.java:441)
	at org.h2.store.PageStore.commit(PageStore.java:1481)
	at org.h2.engine.Database.commit(Database.java:1926)
	at org.h2.engine.Session.commit(Session.java:494)
	at org.h2.command.Command.stop(Command.java:152)
	at org.h2.command.Command.executeUpdate(Command.java:284)
	at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:158)
	at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:144)
	... 13 more

Reply via email to