Hi,
I have a JDBCCacheLoader where I store several nodes with the SAME key (FQN). The execution is going well until I have the following error : JDBCCacheLoader - Failed to update node for fqn /Stringindex/secondaryTradeId/Seconsubnumber: File input/output errorerror java.io.IOException closing file - file ./workingdata/db.data in statement [update jbosscache set node=? where fqn=?] java.sql.SQLException: File input/output errorerror java.io.IOException closing file - file ./workingdata/db.data in statement [update jbosscache set node=? where fqn=?] at org.hsqldb.jdbc.Util.throwError(Unknown Source) at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source) at org.jboss.cache.loader.JDBCCacheLoader.updateNode(JDBCCacheLoader.java:1034) at org.jboss.cache.loader.JDBCCacheLoader.put(JDBCCacheLoader.java:310) at org.jboss.cache.loader.ChainingCacheLoader.put(ChainingCacheLoader.java:149) at org.jboss.cache.interceptors.CacheStoreInterceptor.invoke(CacheStoreInterceptor.java:216) at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68) at org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:364) at org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:160) at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68) at org.jboss.cache.interceptors.CacheMgmtInterceptor.invoke(CacheMgmtInterceptor.java:157) at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5710) at org.jboss.cache.TreeCache.put(TreeCache.java:3782) at org.jboss.cache.TreeCache.put(TreeCache.java:3720)
Here my cacheloader configuration : <cacheloader> <class>org.jboss.cache.loader.JDBCCacheLoader</class> <properties> cache.jdbc.table.name=jbosscache cache.jdbc.table.create=true cache.jdbc.table.drop=false cache.jdbc.table.primarykey=jbosscache_pk cache.jdbc.fqn.column=fqn cache.jdbc.fqn.type=varchar(255) cache.jdbc.node.column=node cache.jdbc.node.type=OBJECT cache.jdbc.parent.column=parent cache.jdbc.driver=org.hsqldb.jdbcDriver cache.jdbc.url=jdbc:hsqldb:file:localDatabase/workingdata/db cache.jdbc.user=sa cache.jdbc.password= </properties> <async>false</async> <fetchPersistentState>false</fetchPersistentState> <ignoreModifications>false</ignoreModifications> <purgeOnStartup>false</purgeOnStartup> </cacheloader>
Here the JDBCCacheLoader table : CREATE TABLE JBOSSCACHE(FQN VARCHAR(255) NOT NULL,NODE OBJECT,PARENT VARCHAR(255),INSERTEDDATE DATE DEFAULT CURRENT_DATE,CONSTRAINT JBOSSCACHE_PK PRIMARY KEY(FQN))
The problem always occures for the same cache loader files size : when the db.data file reaches 131072 ko and db.log reaches around 205000 ko, the problem occured.
I try to insert differents value with the same FQN , so I ask me if it's a problem of size for the column NODE . This column is a BLOB type.
Have you an idea?
Thanks
|