Hello,

I have been using H2 as the backend for a gerrit project for months.  We 
had a restart of the instance over the weekend for some unrelated OS 
maintenance (Linux).  When the server came back up our gerrit instance 
would not start.  The database is corrupt.

After investigating, it seems that our database has been corrupt for months 
but since we did not restart it was working (well mostly working, there is 
only one feature that I found that stopped working) fine.  We are taking 
daily backups of the database directory, which seemed like a good idea, but 
now all we have is backups of a corrupted database for months.

I have use the Recover feature as was suggested in the error_log.  This has 
allowed me to bring the database and gerrit back up, however we are missing 
the history of our changes since the corruption started (April 1).  Is 
there anyway to recover more of the history?

commands run so far:
java -cp h2.jar org.h2.tools.Recover
java -cp h2.jar org.h2.tools.RunScript -url jdbc:h2:./ReviewDB -script 
ReviewDB.h2.sql

I have tried to use the 
java -cp h2.jar org.h2.tools.Script -url jdbc:h2:./ReviewDB  -script 
ReviewDB.zip -options compress zip

I had to modify the Script to use null/null for userid/password as that is 
apparently how gerrit connects to h2

We are currently using h2 1.3.174

Original exception:

ERROR com.google.gerrit.pgm.Daemon : Unable to start daemon

com.google.gerrit.common.Die: Unable to determine SqlDialect

  caused by org.apache.commons.dbcp.SQLNestedException: Cannot create 
PoolableConnectionFactory (File corrupted while reading record: "[1705] 
stream data key:213 pos:11 remaining:0". Possible solution: use the 
recovery tool [90030-174])

  caused by org.h2.jdbc.JdbcSQLException: File corrupted while reading 
record: "[1705] stream data key:213 pos:11 remaining:0". Possible solution: 
use the recovery tool [90030-174]

        at 
com.google.gerrit.pgm.util.AbstractProgram.die(AbstractProgram.java:88)

        at 
com.google.gerrit.pgm.util.SiteProgram.createDbInjector(SiteProgram.java:181)

        at com.google.gerrit.pgm.Daemon.start(Daemon.java:276)

        at com.google.gerrit.pgm.Daemon.run(Daemon.java:205)

        at 
com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:64)


Any help is appreciated!


Michael

-- 
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 https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.

Reply via email to