Hi,

I can reproduce the problem, thanks a lot for your help! This will be
fixed in the next release. The problem is that the result set is
re-used (which is good) but reading from the temporary file is not
correctly synchronized.

As a workaround, I suggest to use the stable version 1.2.x. Another
workaround is to disable re-using result sets by appending
;QUERY_CACHE_SIZE=0 to the database URL (I didn't test this
workaround, but as far as I see it should work).

Thanks again for your help!

Regards,
Thomas



On Sun, Jan 16, 2011 at 10:45 AM, Abu Abdulla <[email protected]> wrote:
> Hi,
>
> I'm using 1.3.149 Beta and it throws this exception:
>
> org.h2.jdbc.JdbcSQLException: File corrupted while reading record:
> "type: 216".
> Possible solution: use the recovery tool [90030-149]
>        at
> org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
>        at org.h2.message.DbException.get(DbException.java:167)
>        at org.h2.message.DbException.get(DbException.java:144)
>        at org.h2.store.Data.readValue(Data.java:749)
>        at
> org.h2.result.ResultDiskBuffer.readRow(ResultDiskBuffer.java:157)
>        at
> org.h2.result.ResultDiskBuffer.nextUnsorted(ResultDiskBuffer.java:170
> )
>        at org.h2.result.ResultDiskBuffer.next(ResultDiskBuffer.java:
> 163)
>        at org.h2.result.LocalResult.next(LocalResult.java:203)
>        at org.h2.jdbc.JdbcResultSet.nextRow(JdbcResultSet.java:2984)
>        at org.h2.jdbc.JdbcResultSet.next(JdbcResultSet.java:116)
>        at classes.MyApplication$30$3.run(MyApplication.java:3669)
> org.h2.jdbc.JdbcSQLException: General error:
> "java.lang.RuntimeException: unalig
> ned seek C:\Users\me\Documents\MyApplication\db\MyApplicationDatabase.
> 79a
> a63ad7e675f68.0.temp.db pos -667571484" [50000-149]
>        at
> org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
>        at org.h2.message.DbException.get(DbException.java:156)
>        at org.h2.message.DbException.convert(DbException.java:279)
>        at org.h2.message.DbException.toSQLException(DbException.java:
> 252)
>        at org.h2.message.TraceObject.logAndConvert(TraceObject.java:
> 373)
>        at org.h2.jdbc.JdbcResultSet.next(JdbcResultSet.java:118)
>        at classes.MyApplication$30$3.run(MyApplication.java:3650)
> Caused by: java.lang.RuntimeException: unaligned seek C:\Users\me
> \Documents
> \MyApplication\db\MyApplicationDatabase.79aa63ad7e675f68.0.temp.db pos
> -667571
> 484
>        at
> org.h2.message.DbException.throwInternalError(DbException.java:226)
>        at org.h2.store.FileStore.seek(FileStore.java:299)
>        at
> org.h2.result.ResultDiskBuffer.nextUnsorted(ResultDiskBuffer.java:167
> )
>        at org.h2.result.ResultDiskBuffer.next(ResultDiskBuffer.java:
> 163)
>        at org.h2.result.LocalResult.next(LocalResult.java:203)
>        at org.h2.jdbc.JdbcResultSet.nextRow(JdbcResultSet.java:2984)
>        at org.h2.jdbc.JdbcResultSet.next(JdbcResultSet.java:116)
>        ... 1 more
>
>
> it happens when two threads are reading the db. i'm using one shared
> connection. i returned back to v1.2.147
>
> --
> You received this message because you are subscribed to the Google Groups "H2 
> Database" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/h2-database?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en.

Reply via email to