[ https://issues.apache.org/jira/browse/JCR-3424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13452813#comment-13452813 ]
licheng commented on JCR-3424: ------------------------------ We use the driver "ojdbc14_10.2.0.4.jar". I debug the code, when creating new node, there are 2 NodePropBundles to persistent, and the 2nd NodePropBundle's length is always 81 bytes. So, is it possbile that value of column "BUNDLE_DATA" is set as the value of NODE_ID by mistake. > hit ORA-12899 when add/save node > -------------------------------- > > Key: JCR-3424 > URL: https://issues.apache.org/jira/browse/JCR-3424 > Project: Jackrabbit Content Repository > Issue Type: Bug > Components: jackrabbit-core > Affects Versions: 2.2 > Environment: JBoss4.2.3 + Oracle 10.2.0.4 + Winxp > Reporter: licheng > > When running one longevity test, we hit ORA-12899 once when saving one node. > It's hard to reproduce it in our test. But someone else also hit this issue > before. > 2012-09-06 13:11:30,485 ERROR > [org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager] > Failed to persist ChangeLog (stacktrace on DEBUG log level), > blockOnConnectionLoss = false > org.apache.jackrabbit.core.state.ItemStateException: failed to write bundle: > 21a24c48-670f-4676-8e06-94b628f833b4 > at > org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.storeBundle(BundleDbPersistenceManager.java:1086) > at > org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.putBundle(AbstractBundlePersistenceManager.java:684) > at > org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.storeInternal(AbstractBundlePersistenceManager.java:626) > at > org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.store(AbstractBundlePersistenceManager.java:503) > at > org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.store(BundleDbPersistenceManager.java:479) > at > org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedItemStateManager.java:757) > at > org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:1487) > at > org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:351) > at > org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:354) > at > org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:326) > at > org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:289) > at > org.apache.jackrabbit.core.ItemSaveOperation.perform(ItemSaveOperation.java:258) > at > org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:200) > at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91) > at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:329) > at > com.vitria.modeling.repository.sapi.service.jcr.access.JcrAccessUtil.createRepositoryNodeWithJcrName(JcrAccessUtil.java:125) > at > com.vitria.modeling.repository.sapi.service.jcr.access.JcrAccessUtil.createRepositoryNode(JcrAccessUtil.java:85) > at > com.vitria.modeling.repository.sapi.service.jcr.JcrPersistentObjectFactory.createChildNonVersionableLeaveNode(JcrPersistentObjectFactory.java:169) > at > com.vitria.modeling.repository.sapi.service.jcr.JcrPersistentObjectFactory.createChildLeaveNode(JcrPersistentObjectFactory.java:65) > at > com.vitria.modeling.repository.sapi.service.jcr.JcrInternalNodeImpl.createLeaveChild(JcrInternalNodeImpl.java:66) > at > com.vitria.modeling.repository.sapi.service.core.CoreModelContainer.createModel(CoreModelContainer.java:80) > at > com.vitria.modeling.repository.sapi.service.proxy.local.LocalModelContainer.createModel(LocalModelContainer.java:167) > ..... > Caused by: java.sql.SQLException: ORA-12899: value too large for column > "LYIN1"."VTJP_DEF_BUNDLE"."NODE_ID" (actual: 81, maximum: 16) > at > oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288) > at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745) > at > oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:219) > at > oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:970) > at > oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1190) > at > oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3370) > at > oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3476) > at > org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:169) > at > org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:169) > at > org.apache.jackrabbit.core.util.db.ConnectionHelper.execute(ConnectionHelper.java:437) > at > org.apache.jackrabbit.core.util.db.ConnectionHelper.reallyUpdate(ConnectionHelper.java:316) > at > org.apache.jackrabbit.core.util.db.ConnectionHelper.access$100(ConnectionHelper.java:65) > at > org.apache.jackrabbit.core.util.db.ConnectionHelper$2.call(ConnectionHelper.java:304) > at > org.apache.jackrabbit.core.util.db.ConnectionHelper$2.call(ConnectionHelper.java:300) > at > org.apache.jackrabbit.core.util.db.ConnectionHelper$RetryManager.doTry(ConnectionHelper.java:450) > at > org.apache.jackrabbit.core.util.db.ConnectionHelper.update(ConnectionHelper.java:300) > at > org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.storeBundle(BundleDbPersistenceManager.java:1082) > ... 126 more -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira