Hi, I'm not sure what the problem could be, but possibly it is still solved in a more recent version of H2. What file system and operating system do you use?
More recent version of H2 also support the recover-test feature: http://h2database.com/html/advanced.html#using_recover_tool "To verify the database can recover at any time, append ;RECOVER_TEST=64 to the database URL in your test environment. This will simulate an application crash after each 64 writes to the database file. A log file named databaseName.h2.db.log is created that lists the operations. The recovery is tested using an in-memory file system, that means it may require a larger heap setting." Regards, Thomas On Friday, December 2, 2011, Fulvio wrote: > The error we got in the trace.db file during the file systenm full > was: > > > 11-29 17:02:46 database: log 0 > 12-01 17:04:48 database: flush > org.h2.message.DbException: IO Exception: "java.io.IOException: No > space left on device"; "/opt/spazio/spazio/spdata/rt/a3sp/ > a3data.h2.db" [90031-147] > at org.h2.message.DbException.get(DbException.java:156) > at org.h2.message.DbException.convertIOException(DbException.java: > 313) > at org.h2.store.FileStore.write(FileStore.java:342) > at org.h2.store.PageStore.writePage(PageStore.java:1309) > at org.h2.store.PageStreamData.write(PageStreamData.java:105) > at > org.h2.store.PageOutputStream.storePage(PageOutputStream.java:148) > at org.h2.store.PageOutputStream.flush(PageOutputStream.java:156) > at org.h2.store.PageLog.flushOut(PageLog.java:842) > at org.h2.store.PageLog.flush(PageLog.java:659) > at org.h2.store.PageStore.flushLog(PageStore.java:956) > at org.h2.engine.Database.flush(Database.java:1699) > at org.h2.store.WriterThread.run(WriterThread.java:85) > at java.lang.Thread.run(Unknown Source) > Caused by: org.h2.jdbc.JdbcSQLException: IO Exception: > "java.io.IOException: No space left on device"; "/opt/spazio/spazio/ > spdata/rt/a3sp/a3data.h2.db" [90031-147] > at org.h2.message.DbException.getJdbcSQLException(DbException.java: > 327) > ... 13 more > Caused by: java.io.IOException: No space left on device > at java.io.RandomAccessFile.writeBytes(Native Method) > at java.io.RandomAccessFile.write(Unknown Source) > at org.h2.store.FileStore.write(FileStore.java:340) > ... 10 more > 12-01 17:04:49 database: flush > org.h2.message.DbException: IO Exception: "java.io.IOException: No > space left on device"; "/opt/spazio/spazio/spdata/rt/a3sp/ > a3data.h2.db" [90031-147] > at org.h2.message.DbException.get(DbException.java:156) > at org.h2.message.DbException.convertIOException(DbException.java: > 313) > at org.h2.store.FileStore.write(FileStore.java:342) > at org.h2.store.PageStore.writePage(PageStore.java:1309) > at org.h2.store.PageStreamData.write(PageStreamData.java:105) > at > org.h2.store.PageOutputStream.storePage(PageOutputStream.java:148) > at org.h2.store.PageOutputStream.flush(PageOutputStream.java:156) > at org.h2.store.PageLog.flushOut(PageLog.java:842) > at org.h2.store.PageLog.flush(PageLog.java:659) > at org.h2.store.PageStore.flushLog(PageStore.java:956) > at org.h2.engine.Database.flush(Database.java:1699) > at org.h2.store.WriterThread.run(WriterThread.java:85) > at java.lang.Thread.run(Unknown Source) > Caused by: org.h2.jdbc.JdbcSQLException: IO Exception: > "java.io.IOException: No space left on device"; "/opt/spazio/spazio/ > spdata/rt/a3sp/a3data.h2.db" [90031-147] > at org.h2.message.DbException.getJdbcSQLException(DbException.java: > 327) > ... 13 more > Caused by: java.io.IOException: No space left on device > at java.io.RandomAccessFile.writeBytes(Native Method) > at java.io.RandomAccessFile.write(Unknown Source) > at org.h2.store.FileStore.write(FileStore.java:340) > ... 10 more > 12-01 17:04:49 database: flush > org.h2.message.DbException: IO Exception: "java.io.IOException: No > space left on device"; "/opt/spazio/spazio/spdata/rt/a3sp/ > a3data.h2.db" [90031-147] > at org.h2.message.DbException.get(DbException.java:156) > at org.h2.message.DbException.convertIOException(DbException.java: > 313) > at org.h2.store.FileStore.write(FileStore.java:342) > at org.h2.store.PageStore.writePage(PageStore.java:1309) > at org.h2.store.PageStreamData.write(PageStreamData.java:105) > at > org.h2.store.PageOutputStream.storePage(PageOutputStream.java:148) > at org.h2.store.PageOutputStream.flush(PageOutputStream.java:156) > at org.h2.store.PageLog.flushOut(PageLog.java:842) > at org.h2.store.PageLog.flush(PageLog.java:659) > at org.h2.store.PageStore.flushLog(PageStore.java:956) > at org.h2.engine.Database.flush(Database.java:1699) > at org.h2.store.WriterThread.run(WriterThread.java:85) > at java.lang.Thread.run(Unknown Source) > Caused by: org.h2.jdbc.JdbcSQLException: IO Exception: > "java.io.IOException: No space left on device"; "/opt/spazio/spazio/ > spdata/rt/a3sp/a3data.h2.db" [90031-147] > at org.h2.message.DbException.getJdbcSQLException(DbException.java: > 327) > ... 13 more > Caused by: java.io.IOException: No space left on device > at java.io.Rorg.h2.message.DbException: IO Exception: > "java.io.IOException: No space left on device"; "/opt/spazio/spazio/ > spdata/rt/a3sp/a3data.h2.db" [90031-147] > at org.h2.message.DbException.get(DbException.java:156) > at org.h2.message.DbException.convertIOException(DbException.java: > 313) > at org.h2.store.FileStore.write(FileStore.java:342) > at org.h2.store.PageStore.writePage(PageStore.java:1309) > at org.h2.store.PageStreamData.write(PageStreamData.java:105) > at > org.h2.store.PageOutputStream.storePage(PageOutputStream.java:148) > at org.h2.store.PageOutputStream.flush(PageOutputStream.java:156) > at org.h2.store.PageLog.flushOut(PageLog.java:842) > at org.h2.store.PageLog.flush(PageLog.java:659) > at org.h2.store.PageStore.flushLog(PageStore.java:956) > at org.h2.engine.Database.flush(Database.java:1699) > at org.h2.store.WriterThread.run(WriterThread.java:85) > at java.lang.Thread.run(Unknown Source) > Caused by: org.h2.jdbc.JdbcSQLException: IO Exception: > "java.io.IOException: No space left on device"; "/opt/spazio/spazio/ > spdata/rt/a3sp/a3data.h2.db" [90031-147] > at org.h2.message.DbException.getJdbcSQLException(DbException.java: > 327) > ... 13 more > Caused by: java.io.IOException: No space left on device > at java.io.RandomAccessFile.writeBytes(Native Method) > at java.io.RandomAccessFile.write(Unknown Source) > at org.h2.store.FileStore.write(FileStore.java:340) > ... 10 more > 12-01 17:08:07 database: flush > org.h2.message.DbException: IO Exception: "java.io.IOException: No > space left on device"; "/opt/spazio/spazio/spdata/rt/a3sp/ > a3data.h2.db" [90031-147] > at org.h2.message.DbException.get(DbException.java:156) > at org.h2.message.DbException.convertIOException(DbException.java: > 313) > at org.h2.store.FileStore.write(FileStore.java:342) > at org.h2.store.PageStore.writePage(PageStore.java:1309) > at org.h2.store.PageStreamData.write(PageStreamData.java:105) > at > org.h2.store.PageOutputStream.storePage(PageOutputStream.java:148) > at org.h2.store.PageOutputStream.flush(PageOutputStream.java:156) > at org.h2.store.PageLog.flushOut(PageLog.java:842) > at org.h2.store.PageLog.flush(PageLog.java:659) > at org.h2.store.PageStore.flushLog(PageStore.java:956) > at org.h2.engine.Database.flush(Database.java:1699) > at org.h2.store.WriterThread.run(WriterThread.java:85) > at java.lang.Thread.run(Unknown Source) > Caused by: org.h2.jdbc.JdbcSQLException: IO Exception: > "java.io.IOException: No space left on device"; "/opt/spazio/spazio/ > spdata/rt/a3sp/a3data.h2.db" [90031-147] > at org.h2.message.DbException.getJdbcSQLException(DbException.java: > 327) > ... 13 more > Caused by: java.io.IOException: No space left on device > at java.io.RandomAccessFile.writeBytes(Native Method) > at java.io.RandomAccessFile.write(Unknown Source) > at org.h2.store.FileStore.write(FileStore.java:340) > ... 10 more > 12-01 17:08:07 database: flush > org.h2.message.DbException: IO Exception: "java.io.IOException: No > space left on device"; "/opt/spazio/spazio/spdata/rt/a3sp/ > a3data.h2.db" [90031-147] > at org.h2.message.DbException.get(DbException.java:156) > at org.h2.message.DbException.convertIOException(DbException.java: > 313) > at org.h2.store.FileStore.write(FileStore.java:342) > at org.h2.store.PageStore.writePage(PageStore.java:1309) > at org.h2.store.PageStreamData.write(PageStreamData.java:105) > at > org.h2.store.PageOutputStream.storePage(PageOutputStream.java:148) > at org.h2.store.PageOutputStream.flush(PageOutputStream.java:156) > at org.h2.store.PageLog.flushOut(PageLog.java:842) > at org.h2.store.PageLog.flush(PageLog.java:659) > at org.h2.store.PageStore.flushLog(PageStore.java:956) > at org.h2.engine.Database.flush(Database.java:1699) > at org.h2.store.WriterThread.run(WriterThread.java:85) > at java.lang.Thread.run(Unknown Source) > Caused by: org.h2.jdbc.JdbcSQLException: IO Exception: > "java.io.IOException: No space left on device"; "/opt/spazio/spazio/ > spdata/rt/a3sp/a3data.h2.db" [90031-147] > at org.h2.message.DbException.getJdbcSQLException(DbException.java: > 327) > ... 13 more > Caused by: java.io.IOException: No space left on device > at java.io.RandomAccessFile.writeBytes(Native Method) > at java.io.RandomAccessFile.write(Unknown Source) > at org.h2.store.FileStore.write(FileStore.java:340) > ... 10 more > 12-01 17:08:08 database: flush > org.h2.message.DbException: IO Exception: "java.io.IOException: No > space left on device"; "/opt/spazio/spazio/spdata/rt/a3sp/ > a3data.h2.db" [90031-147] > at org.h2.message.DbException.get(DbException.java:156) > at org.h2.message.DbException.convertIOException(DbException.java: > 313) > at org.h2.store.FileStore.write(FileStore.java:342) > at org.h2.store.PageStore.writePage(PageStore.java:1309) > at org.h2.store.PageStreamData.write(PageStreamData.java:105) > at > org.h2.store.PageOutputStream.storePage(PageOutputStream.java:148) > at org.h2.store.PageOutputStream.flush(PageOutputStream.java:156) > at org.h2.store.PageLog.flushOut(PageLog.java:842) > at org.h2.store.PageLog.flush(PageLog.java:659) > at org.h2.store.PageStore.flushLog(PageStore.java:956) > at org.h2.engine.Database.flush(Database.java:1699) > at org.h2.store.WriterThread.run(WriterThread.java:85) > at java.lang.Thread.run(Unknown Source) > Caused by: org.h2.jdbc.JdbcSQLException: IO Exception: > "java.io.IOException: No space left on device"; "/opt/spazio/spazio/ > spdata/rt/a3sp/a3data.h2.db" [90031-147] > at org.h2.message.DbException.getJdbcSQLException(DbException.java: > 327) > ... 13 more > Caused by: java.io.IOException: No space left on device > at java.io.RandomAccessFile.writeBytes(Native Method) > at java.io.RandomAccessFile.write(Unknown Source) > at org.h2.store.FileStore.write(FileStore.java:340) > ... 10 more > 12-01 17:08:08 database: flush > org.h2.message.DbException: IO Exception: "java.io.IOException: No > space left on device"; "/opt/spazio/spazio/spdata/rt/a3sp/ > a3data.h2.db" [90031-147] > at org.h2.message.DbException.get(DbException.java:156) > at org.h2.message.DbException.convertIOException(DbException.java: > 313) > at org.h2.store.FileStore.write(FileStore.java:342) > at org.h2.store.PageStore.writePage(PageStore.java:1309) > at org.h2.store.PageStreamData.write(PageStreamData.java:105) > at > org.h2.store.PageOutputStream.storePage(PageOutputStream.java:148) > at org.h2.store.PageOutputStream.flush(PageOutputStream.java:156) > at org.h2.store.PageLog.flushOut(PageLog.java:842) > at org.h2.store.PageLog.flush(PageLog.java:659) > at org.h2.store.PageStore.flushLog(PageStore.java:956) > at org.h2.engine.Database.flush(Database.java:1699) > at org.h2.store.WriterThread.run(WriterThread.java:85) > at java.lang.Thread.run(Unknown Source) > Caused by: org.h2.jdbc.JdbcSQLException: IO Exception: > "java.io.IOException: No space left on device"; "/opt/spazio/spazio/ > spdata/rt/a3sp/a3data.h2.db" [90031-147] > at org.h2.message.DbException.getJdbcSQLException(DbException.java: > 327) > ... 13 more > Caused by: java.io.IOException: No space left on device > at java.io.RandomAccessFile.writeBytes(Native Method) > at java.io.RandomAccessFile.write(Unknown Source) > at org.h2.store.FileStore.write(FileStore.java:340) > ... 10 more > 12-01 17:08:09 database: flush > org.h2.message.DbException: IO Exception: "java.io.IOException: No > space left on device"; "/opt/spazio/spazio/spdata/rt/a3sp/ > a3data.h2.db" [90031-147] > at org.h2.message.DbException.get(DbException.java:156) > at org.h2.message.DbException.convertIOException(DbException.java: > 313) > at org.h2.store.FileStore.write(FileStore.java:342) > at org.h2.store.PageStore.writePage(PageStore.java:1309) > at org.h2.store.PageStreamData.write(PageStreamData.java:105) > at > org.h2.store.PageOutputStream.storePage(PageOutputStream.java:148) > at org.h2.store.PageOutputStream.flush(PageOutputStream.java:156) > at org.h2.store.PageLog.flushOut(PageLog.java:842) > at org.h2.store.PageLog.flush(PageLog.java:659) > at org.h2.store.PageStore.flushLog(PageStore.java:956) > at org.h2.engine.Database.flush(Database.java:1699) > at org.h2.store.WriterThread.run(WriterThread.java:85) > at java.lang.Thread.run(Unknown Source) > Caused by: org.h2.jdbc.JdbcSQLException: IO Exception: > "java.io.IOException: No space left on device"; "/opt/spazio/spazio/ > spdata/rt/a3sp/a3data.h2.db" [90031-147] > at org.h2.message.DbException.getJdbcSQLException(DbException.java: > 327) > ... 13 more > Cau > > > This lead to a database index corruption ... > > Thanks in andvance, > > Fulvio > > > > > On 2 Dic, 09:48, Fulvio <[email protected] <javascript:;>> > wrote: > > We are using h2 1.2.147. > > At a certain point in time, a VM machine running h2 as exausted the > > disk space. When the problem was discovered, we sopped our > > applications, enlaged the disk space, and than we restarted the > > database. > > We suddently got some errors, so we sopped our applications, we run > > the Recover tool, and the the RunScript tool. > > Running the script we got: > > > > RunScript -script ./a3data.h2.sql -url jdbc:h2:./a3data -password > > primeur -user primeur > > Exception in thread "main" org.h2.jdbc.JdbcSQLException: Unique index > > or primary key violation: "A3_ACCOUNT_IX1 ON > > PUBLIC.A3_ACCOUNT(USERNAME, ACCOUNT_STATE)"; SQL statement: > > > > Having a look at the sql script, there were some errors: too many > > inserts for a table with a unique constraint! > > > > Is H2 'safe' (ACID) agaist file system full problems ? > > > > Thanks in advance, > > > > Fulvio > > -- > 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]<javascript:;> > . > To unsubscribe from this group, send email to > [email protected] <javascript:;>. > 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.
