[ 
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

Reply via email to