Database corruption v 1.2.130

13 views
Skip to first unread message

Dario Fassi

unread,
Mar 1, 2010, 2:47:19 PM3/1/10
to h2-da...@googlegroups.com
Hi,
A development database ends corrupted few days after migration to v
1.2.130 (Linux 64bits. Sun JVM 1.6 )
Database was correctly closed without any abnormal termination , and at
next day startup I get this connection error:


RL - H2 emb : File corrupted while reading record: "Table not found:10
for ( /* key:9 */ 8, 1, 10, 35784, 'OFF,0,,', '1,0') meta:{0=T0_DATA,
-1=PAGE_INDEX_DATA}".
Possible solution: use the recovery tool [90030-130]

org.h2.jdbc.JdbcSQLException: File corrupted while reading record:
"Table not found:10 for ( /* key:9 */ 8, 1, 10, 35784, 'OFF,0,,', '1,0')
meta:{0=T0_DATA, -1=PAGE_INDEX_DATA}". Possible solution: use the
recovery tool [90030-130]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:317)
at org.h2.message.DbException.get(DbException.java:168)
at org.h2.message.DbException.get(DbException.java:145)
at org.h2.store.PageStore.addMeta(PageStore.java:1305)
at org.h2.store.PageStore.readMetaData(PageStore.java:1236)
at org.h2.store.PageStore.recover(PageStore.java:1045)
at org.h2.store.PageStore.openExisting(PageStore.java:301)
at org.h2.store.PageStore.open(PageStore.java:259)
at org.h2.engine.Database.getPageStore(Database.java:2005)
at org.h2.engine.Database.open(Database.java:524)
at org.h2.engine.Database.openDatabase(Database.java:200)
at org.h2.engine.Database.<init>(Database.java:195)
at org.h2.engine.Engine.openSession(Engine.java:56)
at org.h2.engine.Engine.openSession(Engine.java:141)
at org.h2.engine.Engine.getSession(Engine.java:120)
at org.h2.engine.Session.createSession(Session.java:119)
at
org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:236)
at org.h2.engine.SessionRemote.createSession(SessionRemote.java:214)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:111)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:95)
at org.h2.Driver.connect(Driver.java:58)
at
net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.getConnection(SQLDriverManager.java:133)
at
net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.execute(OpenConnectionCommand.java:97)
at
net.sourceforge.squirrel_sql.client.mainframe.action.ConnectToAliasCommand$SheetHandler.run(ConnectToAliasCommand.java:280)
at
net.sourceforge.squirrel_sql.fw.util.TaskExecuter.run(TaskExecuter.java:82)
at java.lang.Thread.run(Thread.java:619)

I try to recover adding RECOVERY=1 to the URL , but nothing change.
Now I will trying with Recovery tool now.

Thomas Mueller

unread,
Mar 1, 2010, 3:53:44 PM3/1/10
to h2-da...@googlegroups.com
Hi,

A day after the release, I found the following problem:

In versions 1.2.129 and 1.2.130, a database could not be opened
sometimes after dropping tables or indexes, and then creating new
indexes for existing tables. The exception contained the text "Table
not found".

I think that is what happened in this case: the index has an id that
is smaller than the table.

This seems to be a relatively common problem. I will release a new
version in the next few days.

Regards,
Thomas

Reply all
Reply to author
Forward
0 new messages