Hi!
We use h2-1.2.135.jar.

1) While the program worked on the drive over the place - got
IOException.
2) We have cleared space on the disk, run the application - we get
JdbcSQLException "java.lang.ArrayIndexOutOfBoundsException: -2766".
3) Recover database fails:
C:\>java -cp h2*.jar org.h2.tools.Recover -db "cash"
Error: java.lang.ArrayIndexOutOfBoundsException: -2766

Why when the disk over the place database destroyed? Why restore the
database is not possible?
Below under items 1 and 2 show stackTrace.

1 item:
23:41:09,044 [pool-11-thread-1] ERROR JDBCExceptionReporter - Ошибка
ввода/вывода: "java.io.IOException: No space left on device"; "/mnt/
hda3/tce/storage/crystal-cash/data/cash.h2.db"
IO Exception: "java.io.IOException: No space left on device"; "/mnt/
hda3/tce/storage/crystal-cash/data/cash.h2.db"; SQL statement:
delete from CG_Product where id=? [90031-135]
log4j:ERROR Failed to flush writer,
java.io.IOException: No space left on device
        at java.io.FileOutputStream.writeBytes(Native Method)
        at java.io.FileOutputStream.write(Unknown Source)
        at sun.nio.cs.StreamEncoder.writeBytes(Unknown Source)
        at sun.nio.cs.StreamEncoder.implFlushBuffer(Unknown Source)
        at sun.nio.cs.StreamEncoder.implFlush(Unknown Source)
        at sun.nio.cs.StreamEncoder.flush(Unknown Source)
        at java.io.OutputStreamWriter.flush(Unknown Source)
        at org.apache.log4j.helpers.QuietWriter.flush(QuietWriter.java:58)
        at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:316)
        at
org.apache.log4j.RollingFileAppender.subAppend(RollingFileAppender.java:
263)
        at org.apache.log4j.WriterAppender.append(WriterAppender.java:160)
        at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:
251)
        at
org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:
66)
        at org.apache.log4j.Category.cal23:41:09,200 [pool-11-thread-1] ERROR
AbstractFlushingEventListener - Could not synchronize database state
with session
org.hibernate.exception.GenericJDBCException: Could not execute JDBC
batch update
        at
org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:
126)
        at
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:
114)
        at
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:
66)
        at
org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:
275)
        at
org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:
114)
        at
org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:
109)
        at
org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:
2515)
        at
org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:
2725)
        at
org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:
97)
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:
263)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:
172)
        at
org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:
321)
        at
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:
50)
        at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
        at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
        at
org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:
137)
        at
ru.crystals.pos.check.service.ServicesImpl.deleteOldDocuments(Unknown
Source)
        at ru.crystals.pos.check.service.ServicesImpl.closeShift(Unknown
Source)
        at ru.crystals.pos.check.service.SyncToAsync.closeShift(Unknown
Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at ru.crystals.pos.ProxyClass$1.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.h2.jdbc.JdbcBatchUpdateException: Ошибка ввода/вывода:
"java.io.IOException: No space left on device"; "/mnt/hda3/tce/storage/
crystal-cash/data/cash.h2.db"
IO Exception: "java.io.IOException: No space left on device"; "/mnt/
hda3/tce/storage/crystal-cash/data/cash.h2.db"; SQL statement:
delete from CG_Product where id=? [90031-135]
        at
org.h2.jdbc.JdbcPreparedStatement.executeBatch(JdbcPreparedStatement.java:
1098)
        at
org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:
70)
        at
org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:
268)
        ... 24 more

00:10:16,329 [pool-11-thread-3] ERROR JDBCExceptionReporter - Ошибка
ввода/вывода: "java.io.IOException: No space left on device"; "/mnt/
hda3/tce/storage/crystal-cash/data/cash.h2.db"
IO Exception: "java.io.IOException: No space left on device"; "/mnt/
hda3/tce/storage/crystal-cash/data/cash.h2.db"; SQL statement:
insert into CG_Product (deleted, guid, version, barCode,
barCodeToSearch, comment, id_Country, id_Group, hash, item,
id_Producer, id_Measure, name, nds, orderField, id_Price,
priceContainInDepart, shelfNum, shelfPlace, shelvingNum, statusField,
id_ProductRef, id) values
(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
[90031-135]
00:10:16,332 [pool-11-thread-3] ERROR JDBCExceptionReporter - Ошибка
ввода/вывода: "java.io.IOException: No space left on device"; "/mnt/
hda3/tce/storage/crystal-cash/data/cash.h2.db"
IO Exception: "java.io.IOException: No space left on device"; "/mnt/
hda3/tce/storage/crystal-cash/data/cash.h2.db"; SQL statement:
insert into CG_Product (deleted, guid, version, barCode,
barCodeToSearch, comment, id_Country, id_Group, hash, item,
id_Producer, id_Measure, name, nds, orderField, id_Price,
priceContainInDepart, shelfNum, shelfPlace, shelvingNum, statusField,
id_ProductRef, id) values
(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
[90031-135]
00:10:16,345 [pool-11-thread-3] ERROR AbstractFlushingEventListener -
Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: Could not execute JDBC
batch update
        at
org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:
126)
        at org.hibernate.

2 item:
00:21:38,140 [Thread-2] ERROR SchemaUpdate - could not get database
metadata
org.h2.jdbc.JdbcSQLException: Внутренняя ошибка:
"java.lang.ArrayIndexOutOfBoundsException: -2766"
General error: "java.lang.ArrayIndexOutOfBoundsException:
-2766" [50000-135]
        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.engine.Database.openDatabase(Database.java:236)
        at org.h2.engine.Database.<init>(Database.java:201)
        at org.h2.engine.Engine.openSession(Engine.java:56)
        at org.h2.engine.Engine.openSession(Engine.java:146)
        at org.h2.engine.Engine.getSession(Engine.java:125)
        at org.h2.engine.Session.createSession(Session.java:119)
        at
org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:
239)
        at org.h2.engine.SessionRemote.createSession(SessionRemote.java:217)
        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 java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at
org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:
133)
        at
org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.prepare(SuppliedConnectionProviderConnectionHelper.java:
51)
        at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:
150)
        at
org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:
346)
        at
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:
1327)
        at
org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:
867)
        at ru.crystals.pos.check.service.ServicesImpl.start(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:
1527)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:
1468)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:
1400)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:
513)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:
450)
        at org.springframework.beans.factory.support.AbstractBeanFactory
$1.getObject(AbstractBeanFactory.java:290)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:
222)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:
287)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:
189)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:
322)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:
106)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:
1308)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:
1067)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:
511)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:
450)
        at org.springframework.beans.factory.support.AbstractBeanFactory
$1.getObject(AbstractBeanFactory.java:290)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:
222)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:
287)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:
189)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:
322)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:
106)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:
1308)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:
1067)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:
511)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:
450)
        at org.springframework.beans.factory.support.AbstractBeanFactory
$1.getObject(AbstractBeanFactory.java:290)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:
222)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:
287)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:
189)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:
322)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:
106)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:
355)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:
153)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:
1308)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:
1067)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:
511)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:
450)
        at org.springframework.beans.factory.support.AbstractBeanFactory
$1.getObject(AbstractBeanFactory.java:290)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:
222)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:
287)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:
193)
        at
org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:
699)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:
408)
        at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:
139)
        at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:
93)
        at ru.crystals.pos.loader.Loader$ThreadSpring.run(Unknown Source)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -2766
        at org.h2.compress.CompressLZF.expand(CompressLZF.java:255)
        at org.h2.store.PageLog.recover(PageLog.java:261)
        at org.h2.store.PageStore.recover(PageStore.java:1081)
        at org.h2.store.PageStore.openExisting(PageStore.java:310)
        at org.h2.store.PageStore.open(PageStore.java:264)
        at org.h2.engine.Database.getPageStore(Database.java:2038)
        at org.h2.engine.Database.open(Database.java:533)
        at org.h2.engine.Database.openDatabase(Database.java:206)
        ... 69 more

-- 
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