I got another exception today....

Caused by: org.h2.jdbc.JdbcSQLException: General error: 
"java.lang.IllegalArgumentException: Illegal Capacity: -1"; SQL statement:
INSERT INTO CDS_HISTORY(ID, SEQNUM, XACTID, MSGDATE, FILENAME, STATE) 
VALUES('FAKE_None',27024,'20140703054701192T','2014-07-03 
05:47:01.192000','00-20140703054701192000_27024-ORACLE.GDS2DB_OWNER.0','RCV') 
[50000-179]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
    at org.h2.message.DbException.get(DbException.java:168)
    at org.h2.message.DbException.convert(DbException.java:295)
    at org.h2.mvstore.db.MVTable.addRow(MVTable.java:614)
    at org.h2.command.dml.Insert.insertRows(Insert.java:156)
    at org.h2.command.dml.Insert.update(Insert.java:114)
    at org.h2.command.CommandContainer.update(CommandContainer.java:78)
    at org.h2.command.Command.executeUpdate(Command.java:253)
    at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:185)
    at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:159)
    at 
com.issinc.cds.sbrecv.history.RecvHistoryDBStore.update(RecvHistoryDBStore.java:266)
    ... 4 more
Caused by: java.lang.IllegalArgumentException: Illegal Capacity: -1
    at java.util.ArrayList.<init>(ArrayList.java:142)
    at org.h2.mvstore.MVMap.removeUnusedOldVersions(MVMap.java:993)
    at org.h2.mvstore.MVMap.newRoot(MVMap.java:699)
    at org.h2.mvstore.MVMap.put(MVMap.java:113)
    at org.h2.mvstore.MVMap.putIfAbsent(MVMap.java:574)
    at 
org.h2.mvstore.db.TransactionStore$TransactionMap.trySet(TransactionStore.java:1089)
    at 
org.h2.mvstore.db.TransactionStore$TransactionMap.set(TransactionStore.java:1011)
    at 
org.h2.mvstore.db.TransactionStore$TransactionMap.put(TransactionStore.java:989)
    at org.h2.mvstore.db.MVPrimaryIndex.add(MVPrimaryIndex.java:143)
    at org.h2.mvstore.db.MVTable.addRow(MVTable.java:610)
    ... 11 more

I have been running tests for a couple weeks now.  The 1.4.179 version has 
been pretty stable for me during that time ( running 24x7 ) with constant 
updates/deletes/queries.  However, this exception was just thrown; and now 
I think my dbfile maybe in a bad state because the trace file is showing 
multiple corrupt page counts now.

I am new to h2 but I have heard so many positive things about it - it was 
the embedded DB I chose to implement.
Can you tell me if disabling the MVStore ( MV_STORE=FALSE; ) would take me 
to a more stable version or should I download an older version?  
What is your recommendation?  
What are the pros/cons as well - are the URL options largely different?

Current URL: 
"jdbc:h2:../data/dbFile;COMPRESS=TRUE;AUTOCOMMIT=ON;MVCC=TRUE;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE;AUTO_SERVER_PORT=8700"
Current Version 1.4.179
Current OS: Solaris 10
Java version: 1.7u45

-- 
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/d/optout.

Reply via email to