I am very interested in analyzing and solving this problem. Corruption problems have top priority for me. I have a few questions:
- What is your database URL?
- Did you use LOG=0 or LOG=1? Did you read the FAQ about it?
- Did the system ever run out of disk space?
- Could you send the full stack trace of the exception including message text?
- Did you use SHUTDOWN DEFRAG or the database setting DEFRAG_ALWAYS with H2 version 1.3.159 or older?
- How many connections does your application use concurrently?
- Do you use temporary tables?
- With which version of H2 was this database created?
You can find it out using:
select * from information_schema.settings where name='CREATE_BUILD'
or have a look in the SQL script created by the recover tool.
- Did the application run out of memory (once, or multiple times)?
- Do you use any settings or special features (for example cache settings,
two phase commit, linked tables)?
- Do you use any H2-specific system properties?
- Is the application multi-threaded?
- What operating system, file system, and virtual machine
(java -version) do you use?
- How did you start the Java process (java -Xmx... and so on)?
- Is it (or was it at some point) a networked file system?
- How big is the database (file sizes)?
- How much heap memory does the Java process have?
- Is the database usually closed normally, or is process terminated
forcefully or the computer switched off?
- Is it possible to reproduce this problem using a fresh database
(sometimes, or always)?
- Are there any other exceptions (maybe in the .trace.db file)?
Could you send them please?
- Do you still have any .trace.db files, and if yes could you send them?
- Could you send the .h2.db file where this exception occurs?
Regards,
Thomas
I'm running with h2 h2-1.3.166.jar. I'm getting the following. The only thing I see on this issue is that this was suppose to be fixed in the 159 version. Anyone see this and know what the actual issue is, I've used the error identifier on h2database and it says an io error occurred. I'm getting this at the very end of my unit test run after using the table structure to create/update/delete local cache entries.org.h2.jdbc.JdbcSQLException: IO Exception: "java.io.IOException: org.h2.jdbc.JdbcSQLException: IO Exception: ""Missing lob entry: 4/14"" [90028-166]"; "lob: null table: 16 id: 4" [90031-166]at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)at org.h2.message.DbException.get(DbException.java:158)at org.h2.message.DbException.convertIOException(DbException.java:315)at org.h2.value.ValueLobDb.getBytesNoCopy(ValueLobDb.java:229)at org.h2.value.ValueLobDb.getBytes(ValueLobDb.java:214)at org.h2.jdbc.JdbcResultSet.getBytes(JdbcResultSet.java:970)at com.j256.ormlite.jdbc.JdbcDatabaseResults.getBytes(JdbcDatabaseResults.java:106)at com.j256.ormlite.field.types.StringBytesType.resultToSqlArg(StringBytesType.java:41)at com.j256.ormlite.field.BaseFieldConverter.resultToJava(BaseFieldConverter.java:24)at com.j256.ormlite.field.FieldType.resultToJava(FieldType.java:761)at com.j256.ormlite.stmt.mapped.BaseMappedQuery.mapRow(BaseMappedQuery.java:60)at com.j256.ormlite.stmt.StatementExecutor.queryForFirst(StatementExecutor.java:96)at com.j256.ormlite.dao.BaseDaoImpl.queryForFirst(BaseDaoImpl.java:229)at com.j256.ormlite.stmt.QueryBuilder.queryForFirst(QueryBuilder.java:269)at DocScannerMain.getFalconData(Unknown Source)at DocScannerMain$UpdateCache.run(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)at java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:573)at java.security.AccessController.doPrivileged(Native Method)at java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:570)at java.lang.Thread.run(Thread.java:680)Caused by: java.io.IOException: org.h2.jdbc.JdbcSQLException: IO Exception: "Missing lob entry: 4/14" [90028-166]at org.h2.message.DbException.convertToIOException(DbException.java:348)at org.h2.store.LobStorage$LobInputStream.fillBuffer(LobStorage.java:464)at org.h2.store.LobStorage$LobInputStream.readFully(LobStorage.java:437)at org.h2.store.LobStorage$LobInputStream.read(LobStorage.java:428)at org.h2.util.IOUtils.copy(IOUtils.java:163)at org.h2.util.IOUtils.readBytesAndClose(IOUtils.java:276)at org.h2.value.ValueLobDb.getBytesNoCopy(ValueLobDb.java:227)... 18 moreCaused by: org.h2.jdbc.JdbcSQLException: IO Exception: "Missing lob entry: 4/14" [90028-166]at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)at org.h2.message.DbException.get(DbException.java:169)at org.h2.message.DbException.get(DbException.java:146)at org.h2.store.LobStorage.readBlock(LobStorage.java:228)at org.h2.store.LobStorage$LobInputStream.fillBuffer(LobStorage.java:461)... 23 more--
You received this message because you are subscribed to the Google Groups "H2 Database" group.
To view this discussion on the web visit https://groups.google.com/d/msg/h2-database/-/zCYK_7N6Vx0J.
To post to this group, send email to h2-da...@googlegroups.com.
To unsubscribe from this group, send email to h2-database...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/h2-database?hl=en.