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.

Reply via email to