1 Reply Latest reply on Dec 2, 2009 5:28 AM by galder.zamarreno

    Oracle exception occurring under load

    drcallaway

      Our JBoss Cache configuration is currently using the JDBCCacheLoader and Oracle 11i. This seems to work fine but occasionally during load tests we'll get this error:

      org.jboss.cache.CacheException: java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column


      Our cache loader configuration looks like this (without connection pooling):

      <loader class="org.jboss.cache.loader.JDBCCacheLoader" async="false" fetchPersistentState="false"
       ignoreModifications="false" purgeOnStartup="false">
       <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=VARCHAR2(255)
       cache.jdbc.node.column=node
       cache.jdbc.parent.column=parent
       cache.jdbc.node.type=BLOB
       </properties>
      </loader>


      The table created by JBoss Cache looks like this:

      Name Null? Type
       ----------------------------------------- -------- ----------------------------
       FQN NOT NULL VARCHAR2(255)
       NODE BLOB
       PARENT VARCHAR2(255)


      The length of the data stored in the FQN and PARENT fields has a maximum size of about 50 characters. Most of the objects stored in the cache are around 2k but some may exceed 4k. Does anyone know what causes this error and how to prevent it?

      Thanks!

      Dustin