Hi Thomas,
thanks for the answer. The only solution we found effective was in fact to
delete and recreate the database. Since then we haven't found corruption
problems.
Regards
Federico
On Wednesday, September 11, 2013 8:05:47 PM UTC+2, Thomas Mueller wrote:
>
> Hi,
>
> The error code "[50000-166]" means you are actually still using H2
> version 1.3.166. A few corruption problems have been fixed since then,
> for example in version 1.3.172 ("When using local temporary tables...")
> and also 1.3.173 - see also http://www.h2database.com/html/changelog.html-
> could you try again with the latest version? You may need to re-create
> the database I'm afraid.
>
> Regards,
> Thomas
>
>
>
>
> On Wed, Sep 11, 2013 at 11:16 AM, Federico Dal Castello <
> [email protected] <javascript:>> wrote:
>
>> Hello,
>>
>> days ago we experienced database corruption and I think it was due to the
>> following (full stacktrace attached):
>>
>> org.h2.jdbc.JdbcSQLException: General error:
>> "java.lang.ArrayIndexOutOfBoundsException: 17"; SQL statement:
>> UPDATE jbosscache SET node = ? WHERE fqn = ? [50000-166]
>>
>> Afterwards, while figuring out what happened, I noticed I was able to
>> successfully perform select queries on some nodes, while select queries on
>> other nodes failed with the following error:
>>
>> File corrupted while reading record: "[738] stream data key:162 pos:11
>> remaining:0"
>>
>> In addition, every delete operation returned the same error.
>>
>> We use H2 library 1.3.172 and CREATE_BUILD=166. The DB is used as jboss
>> cache component. If you want I can send you the corrupted DB file but it is
>> 190MB and I haven't been able to find a test case reproducing the error.
>> More information:
>>
>> - Did the system ever run out of disk space?
>>
>> No
>>
>> - Could you send the full stack trace of the exception including message
>> text?
>>
>> Yes, attached
>>
>> - Did you use SHUTDOWN DEFRAG or the database setting DEFRAG_ALWAYS with
>> H2 version 1.3.159 or older?
>>
>> No
>>
>> - What is your database URL?
>>
>> jdbc:h2:userdata/cache/jbcache;create=true;DB_CLOSE_DELAY=1
>>
>> - How many connections does your application use concurrently?
>>
>> max pool size is 400
>>
>> - Do you use temporary tables?
>>
>> No
>>
>> - Did you use LOG=0 or LOG=1?
>>
>> No
>>
>> - Did the application run out of memory (once, or multiple times)?
>>
>> No
>>
>> - Do you use any settings or special features (for example cache settings,
>> two phase commit, linked tables)?
>>
>> We set the following properties:
>> cache.jdbc.table.create=true
>> cache.jdbc.table.drop=false
>> cache.jdbc.fqn.type=varchar(2048)
>> cache.jdbc.connection.factory=org.jboss.cache.loader.C3p0ConnectionFactory
>> c3p0.maxPoolSize=400
>>
>> - Do you use any H2-specific system properties?
>>
>> See previous question
>>
>> - Is the application multi-threaded?
>>
>> Yes
>>
>> - What operating system, file system, and virtual machine (java -version)
>> do you use?
>> Os: Windows server 2008 SP2 64 bit
>> File system: NTFS
>> Java version: 1.6.0_20
>>
>> - How did you start the Java process (java -Xmx... and so on)?
>>
>> -MaxPermSize=256M -Xmx2560M -Xms2560M
>>
>> - Is it (or was it at some point) a networked file system?
>>
>> No
>>
>> - How big is the database (file sizes)?
>>
>> 190 MB
>>
>> - How much heap memory does the Java process have?
>>
>> 2560 MB
>>
>> - Is the database usually closed normally, or is process terminated
>> forcefully or the computer switched off?
>>
>> Usually it is closed normally
>>
>> - Is it possible to reproduce this problem using a fresh database
>> (sometimes, or always)?
>>
>> No, at least not yet
>>
>> --
>> 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] <javascript:>.
>> To post to this group, send email to [email protected]<javascript:>
>> .
>> Visit this group at http://groups.google.com/group/h2-database.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>
--
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/groups/opt_out.