org.springmodules.orm.ojb.OjbOperationException: OJB operation failed; nested exception is org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: toReferenceText=what : referenceTypeCode=AUDIENCE

Kuali JIRA | Mike Riley | 4 years ago
  1. 0

    Saving kms/sample-docs/te/testDocument.dita from the crud generates an optimistic lock error ("Another user was taking action on this document at the same time...."), and the below exception appears in the console (followed by others apparently triggered by it): org.springmodules.orm.ojb.OjbOperationException: OJB operation failed; nested exception is org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: toReferenceText=what : referenceTypeCode=AUDIENCE at org.springmodules.orm.ojb.OjbAccessor.convertOjbAccessException(OjbAccessor.java:92) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:144) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.store(PersistenceBrokerTemplate.java:244) at org.kuali.rice.kns.dao.impl.DocumentDaoOjb.save(DocumentDaoOjb.java:66) at org.kuali.rice.kns.dao.proxy.DocumentDaoProxy.save(DocumentDaoProxy.java:143) at sun.reflect.GeneratedMethodAccessor702.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy41.save(Unknown Source) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.validateAndPersistDocument(DocumentServiceImpl.java:687) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.validateAndPersistDocumentAndSaveAdHocRoutingRecipients(DocumentServiceImpl.java:363) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:125) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:109) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy49.saveDocument(Unknown Source) at org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.save(KualiDocumentActionBase.java:544) at org.kuali.kits.kms.web.KmsDocumentAction.save(KmsDocumentAction.java:571) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270) at org.kuali.rice.kns.web.struts.action.KualiAction.dispatchMethod(KualiAction.java:172) at org.kuali.rice.kns.web.struts.action.KualiAction.execute(KualiAction.java:123) at org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.execute(KualiDocumentActionBase.java:118) at org.kuali.kits.kms.web.KmsDocumentAction.execute(KmsDocumentAction.java:98) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor$1.doInTransaction(KualiRequestProcessor.java:503) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.processActionPerform(KualiRequestProcessor.java:499) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.process(KualiRequestProcessor.java:101) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.kew.web.UserLoginFilter.doFilter(UserLoginFilter.java:92) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:273) at org.kuali.rice.kew.web.DummyLoginFilter.doFilter(DummyLoginFilter.java:86) at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:266) at org.kuali.rice.kew.web.BootstrapFilter.doFilter(BootstrapFilter.java:164) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.kns.web.filter.HideWebInfFilter.doFilter(HideWebInfFilter.java:69) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: toReferenceText=what : referenceTypeCode=AUDIENCE at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeUpdate(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeAndLinkOneToMany(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeCollections(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeAndLinkOneToOne(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeAndLinkOneToOne(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.springmodules.orm.ojb.PersistenceBrokerTemplate$9.doInPersistenceBroker(PersistenceBrokerTemplate.java:246) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:141) ... 79 more

    Kuali JIRA | 4 years ago | Mike Riley
    org.springmodules.orm.ojb.OjbOperationException: OJB operation failed; nested exception is org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: toReferenceText=what : referenceTypeCode=AUDIENCE
  2. 0

    Saving kms/sample-docs/te/testDocument.dita from the crud generates an optimistic lock error ("Another user was taking action on this document at the same time...."), and the below exception appears in the console (followed by others apparently triggered by it): org.springmodules.orm.ojb.OjbOperationException: OJB operation failed; nested exception is org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: toReferenceText=what : referenceTypeCode=AUDIENCE at org.springmodules.orm.ojb.OjbAccessor.convertOjbAccessException(OjbAccessor.java:92) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:144) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.store(PersistenceBrokerTemplate.java:244) at org.kuali.rice.kns.dao.impl.DocumentDaoOjb.save(DocumentDaoOjb.java:66) at org.kuali.rice.kns.dao.proxy.DocumentDaoProxy.save(DocumentDaoProxy.java:143) at sun.reflect.GeneratedMethodAccessor702.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy41.save(Unknown Source) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.validateAndPersistDocument(DocumentServiceImpl.java:687) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.validateAndPersistDocumentAndSaveAdHocRoutingRecipients(DocumentServiceImpl.java:363) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:125) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:109) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy49.saveDocument(Unknown Source) at org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.save(KualiDocumentActionBase.java:544) at org.kuali.kits.kms.web.KmsDocumentAction.save(KmsDocumentAction.java:571) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270) at org.kuali.rice.kns.web.struts.action.KualiAction.dispatchMethod(KualiAction.java:172) at org.kuali.rice.kns.web.struts.action.KualiAction.execute(KualiAction.java:123) at org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.execute(KualiDocumentActionBase.java:118) at org.kuali.kits.kms.web.KmsDocumentAction.execute(KmsDocumentAction.java:98) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor$1.doInTransaction(KualiRequestProcessor.java:503) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.processActionPerform(KualiRequestProcessor.java:499) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.process(KualiRequestProcessor.java:101) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.kew.web.UserLoginFilter.doFilter(UserLoginFilter.java:92) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:273) at org.kuali.rice.kew.web.DummyLoginFilter.doFilter(DummyLoginFilter.java:86) at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:266) at org.kuali.rice.kew.web.BootstrapFilter.doFilter(BootstrapFilter.java:164) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.kns.web.filter.HideWebInfFilter.doFilter(HideWebInfFilter.java:69) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: toReferenceText=what : referenceTypeCode=AUDIENCE at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeUpdate(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeAndLinkOneToMany(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeCollections(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeAndLinkOneToOne(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeAndLinkOneToOne(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.springmodules.orm.ojb.PersistenceBrokerTemplate$9.doInPersistenceBroker(PersistenceBrokerTemplate.java:246) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:141) ... 79 more

    Kuali JIRA | 4 years ago | Mike Riley
    org.springmodules.orm.ojb.OjbOperationException: OJB operation failed; nested exception is org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: toReferenceText=what : referenceTypeCode=AUDIENCE
  3. 0

    It appears that the CRUD and Batch process sometimes step on each others toes, and modify the same record, and cause optimistic lock exceptions. I saw this happen on both kms_doc_rev_t table and the KEW doc header (see exception below), and would not be surprised if other referenced/updateable object updates could be the target as well. I was able to repeat this problem pretty easily by initiating a new content request, saving, and then immediately clicking 'attempt to edit', pausing for a bit (e.g. 20seconds), then clicking save again. This message will be displayed: This document has already been modified by another user. Press the "reload" button to replace your copy of the document with the newer version. ..and the following exception below shows up in the console log. Perhaps we can limp along with this for now, but eventually we should consider a fix for this. Two solutions immediately come to mind: 1) lock the document in the batch processor (perhaps both an svn lock, and a kew lock), 2) modify the CRUD commit logic to re-fetch objects before saving, and check for, and ignore changes ...as appropriate. Option 2 might be nasty as we can't be sure exactly what may have changed: the KEW DOC, or kms_doc_rev_t...or some other child object, and it seems like a nasty code that would be responsible for figuring out what was changed, and whether the change can be ignored. In particular, as I think about it, I definitely don't like the idea of refetching the KEW DOC and attempting to figure out what changes occurred and if they can be ignored. That seems like a nasty hack. So my preference would be option 1. Here is the console logged stackdump of an example optimistic lock exception: 2012-10-17 15:07:13,389 [http-bio-8080-exec-9:] FATAL org.kuali.rice.core.database.KualiTransactionInterceptor.completeTransactionAfterThrowing() :: Exception caught by Transaction Interceptor, this will cause a rollback at the end of the transaction. org.springmodules.orm.ojb.OjbOperationException: OJB operation failed; nested exception is org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: kmsDocumentRevisiondocumentHeaderId(branchId,documentId,isPublished,lastSvnRevision,isRendering,{kmsDocument},smeApprovalDate,smeApprovalById,publishOnDate,wasPublishedOn)=3920(1,32,N,234,Y,{kmsDocument(branchId,documentId,legacyDocumentId,lastSvnRevisionId,lastKmsDocumentRevisionId,createDate,lastModifiedDate,{kmsDocumentMetadata},{kmsBranch},{kmsValidationReport},{kmsFileName})=(1,32,null,234,3920,2012-10-17 15:00:59.0,2012-10-17 15:07:13.139,{kmsDocumentMetadata(documentId,svnRevisionId,ownerId,reviewCycleIntervalCount,reviewIntervalUnitsCode,reviewSetByUserId,reviewSetOnDate,reviewNote,frozenIndicator,frozenSetByUserId,frozenSetOnDate,frozenNote,visibleCode,{documentReferences},{documentTitles},{documentAudiences},{documentAuthors},{documentExpirationDates},{documentExtras},{documentResources},{documentTags})=(32,234,null,null,null,null,null,null,N,null,null,null,visible,{[]},{[audienceId=main : titleText=asdfghijkl]},{[default, kbstaff]},{[]},{[]},{[]},{[]},{[]})},{kmsBranch(branchId,branchName,branchDescription,fromPath,toPath,renderStoreReadyIndicator)=(1,trunk,trunk,null,/trunk,T)},{Subversion path: /trunk/hh/hhhh.dita; Revision: 234 Source Doc ID: 32 Run date:Wed Oct 17 15:07:13 EDT 2012 (Report: #188/Source: 1) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (ownerId)): (Report: #189/Source: 2) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (originalAuthorId)): (Report: #190/Source: 3) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (searchTermText)): },{[#32]/hh/hhhh.dita})},null,null,null,null) at org.springmodules.orm.ojb.OjbAccessor.convertOjbAccessException(OjbAccessor.java:92) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:144) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.store(PersistenceBrokerTemplate.java:244) at org.kuali.rice.kns.dao.impl.DocumentDaoOjb.save(DocumentDaoOjb.java:66) at org.kuali.rice.kns.dao.proxy.DocumentDaoProxy.save(DocumentDaoProxy.java:143) at sun.reflect.GeneratedMethodAccessor806.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy41.save(Unknown Source) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.validateAndPersistDocument(DocumentServiceImpl.java:687) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.validateAndPersistDocumentAndSaveAdHocRoutingRecipients(DocumentServiceImpl.java:363) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:125) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:109) at sun.reflect.GeneratedMethodAccessor829.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy49.saveDocument(Unknown Source) at org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.save(KualiDocumentActionBase.java:544) at org.kuali.kits.kms.web.KmsDocumentAction.save(KmsDocumentAction.java:517) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270) at org.kuali.rice.kns.web.struts.action.KualiAction.dispatchMethod(KualiAction.java:172) at org.kuali.rice.kns.web.struts.action.KualiAction.execute(KualiAction.java:123) at org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.execute(KualiDocumentActionBase.java:118) at org.kuali.kits.kms.web.KmsDocumentAction.execute(KmsDocumentAction.java:99) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor$1.doInTransaction(KualiRequestProcessor.java:503) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.processActionPerform(KualiRequestProcessor.java:499) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.process(KualiRequestProcessor.java:101) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.kew.web.UserLoginFilter.doFilter(UserLoginFilter.java:92) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:273) at org.kuali.rice.kew.web.DummyLoginFilter.doFilter(DummyLoginFilter.java:86) at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:266) at org.kuali.rice.kew.web.BootstrapFilter.doFilter(BootstrapFilter.java:164) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.kns.web.filter.HideWebInfFilter.doFilter(HideWebInfFilter.java:69) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: kmsDocumentRevisiondocumentHeaderId(branchId,documentId,isPublished,lastSvnRevision,isRendering,{kmsDocument},smeApprovalDate,smeApprovalById,publishOnDate,wasPublishedOn)=3920(1,32,N,234,Y,{kmsDocument(branchId,documentId,legacyDocumentId,lastSvnRevisionId,lastKmsDocumentRevisionId,createDate,lastModifiedDate,{kmsDocumentMetadata},{kmsBranch},{kmsValidationReport},{kmsFileName})=(1,32,null,234,3920,2012-10-17 15:00:59.0,2012-10-17 15:07:13.139,{kmsDocumentMetadata(documentId,svnRevisionId,ownerId,reviewCycleIntervalCount,reviewIntervalUnitsCode,reviewSetByUserId,reviewSetOnDate,reviewNote,frozenIndicator,frozenSetByUserId,frozenSetOnDate,frozenNote,visibleCode,{documentReferences},{documentTitles},{documentAudiences},{documentAuthors},{documentExpirationDates},{documentExtras},{documentResources},{documentTags})=(32,234,null,null,null,null,null,null,N,null,null,null,visible,{[]},{[audienceId=main : titleText=asdfghijkl]},{[default, kbstaff]},{[]},{[]},{[]},{[]},{[]})},{kmsBranch(branchId,branchName,branchDescription,fromPath,toPath,renderStoreReadyIndicator)=(1,trunk,trunk,null,/trunk,T)},{Subversion path: /trunk/hh/hhhh.dita; Revision: 234 Source Doc ID: 32 Run date:Wed Oct 17 15:07:13 EDT 2012 (Report: #188/Source: 1) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (ownerId)): (Report: #189/Source: 2) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (originalAuthorId)): (Report: #190/Source: 3) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (searchTermText)): },{[#32]/hh/hhhh.dita})},null,null,null,null) at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeUpdate(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.springmodules.orm.ojb.PersistenceBrokerTemplate$9.doInPersistenceBroker(PersistenceBrokerTemplate.java:246) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:141) ... 78 more

    Kuali JIRA | 4 years ago | Mike Riley
    org.springmodules.orm.ojb.OjbOperationException: OJB operation failed; nested exception is org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: kmsDocumentRevisiondocumentHeaderId(branchId,documentId,isPublished,lastSvnRevision,isRendering,{kmsDocument},smeApprovalDate,smeApprovalById,publishOnDate,wasPublishedOn)=3920(1,32,N,234,Y,{kmsDocument(branchId,documentId,legacyDocumentId,lastSvnRevisionId,lastKmsDocumentRevisionId,createDate,lastModifiedDate,{kmsDocumentMetadata},{kmsBranch},{kmsValidationReport},{kmsFileName})=(1,32,null,234,3920,2012-10-17 15:00:59.0,2012-10-17 15:07:13.139,{kmsDocumentMetadata(documentId,svnRevisionId,ownerId,reviewCycleIntervalCount,reviewIntervalUnitsCode,reviewSetByUserId,reviewSetOnDate,reviewNote,frozenIndicator,frozenSetByUserId,frozenSetOnDate,frozenNote,visibleCode,{documentReferences},{documentTitles},{documentAudiences},{documentAuthors},{documentExpirationDates},{documentExtras},{documentResources},{documentTags})=(32,234,null,null,null,null,null,null,N,null,null,null,visible,{[]},{[audienceId=main : titleText=asdfghijkl]},{[default, kbstaff]},{[]},{[]},{[]},{[]},{[]})},{kmsBranch(branchId,branchName,branchDescription,fromPath,toPath,renderStoreReadyIndicator)=(1,trunk,trunk,null,/trunk,T)},{Subversion path: /trunk/hh/hhhh.dita; Revision: 234 Source Doc ID: 32 Run date:Wed Oct 17 15:07:13 EDT 2012 (Report: #188/Source: 1) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (ownerId)): (Report: #189/Source: 2) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (originalAuthorId)): (Report: #190/Source: 3) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (searchTermText)): },{[#32]/hh/hhhh.dita})},null,null,null,null)
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    It appears that the CRUD and Batch process sometimes step on each others toes, and modify the same record, and cause optimistic lock exceptions. I saw this happen on both kms_doc_rev_t table and the KEW doc header (see exception below), and would not be surprised if other referenced/updateable object updates could be the target as well. I was able to repeat this problem pretty easily by initiating a new content request, saving, and then immediately clicking 'attempt to edit', pausing for a bit (e.g. 20seconds), then clicking save again. This message will be displayed: This document has already been modified by another user. Press the "reload" button to replace your copy of the document with the newer version. ..and the following exception below shows up in the console log. Perhaps we can limp along with this for now, but eventually we should consider a fix for this. Two solutions immediately come to mind: 1) lock the document in the batch processor (perhaps both an svn lock, and a kew lock), 2) modify the CRUD commit logic to re-fetch objects before saving, and check for, and ignore changes ...as appropriate. Option 2 might be nasty as we can't be sure exactly what may have changed: the KEW DOC, or kms_doc_rev_t...or some other child object, and it seems like a nasty code that would be responsible for figuring out what was changed, and whether the change can be ignored. In particular, as I think about it, I definitely don't like the idea of refetching the KEW DOC and attempting to figure out what changes occurred and if they can be ignored. That seems like a nasty hack. So my preference would be option 1. Here is the console logged stackdump of an example optimistic lock exception: 2012-10-17 15:07:13,389 [http-bio-8080-exec-9:] FATAL org.kuali.rice.core.database.KualiTransactionInterceptor.completeTransactionAfterThrowing() :: Exception caught by Transaction Interceptor, this will cause a rollback at the end of the transaction. org.springmodules.orm.ojb.OjbOperationException: OJB operation failed; nested exception is org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: kmsDocumentRevisiondocumentHeaderId(branchId,documentId,isPublished,lastSvnRevision,isRendering,{kmsDocument},smeApprovalDate,smeApprovalById,publishOnDate,wasPublishedOn)=3920(1,32,N,234,Y,{kmsDocument(branchId,documentId,legacyDocumentId,lastSvnRevisionId,lastKmsDocumentRevisionId,createDate,lastModifiedDate,{kmsDocumentMetadata},{kmsBranch},{kmsValidationReport},{kmsFileName})=(1,32,null,234,3920,2012-10-17 15:00:59.0,2012-10-17 15:07:13.139,{kmsDocumentMetadata(documentId,svnRevisionId,ownerId,reviewCycleIntervalCount,reviewIntervalUnitsCode,reviewSetByUserId,reviewSetOnDate,reviewNote,frozenIndicator,frozenSetByUserId,frozenSetOnDate,frozenNote,visibleCode,{documentReferences},{documentTitles},{documentAudiences},{documentAuthors},{documentExpirationDates},{documentExtras},{documentResources},{documentTags})=(32,234,null,null,null,null,null,null,N,null,null,null,visible,{[]},{[audienceId=main : titleText=asdfghijkl]},{[default, kbstaff]},{[]},{[]},{[]},{[]},{[]})},{kmsBranch(branchId,branchName,branchDescription,fromPath,toPath,renderStoreReadyIndicator)=(1,trunk,trunk,null,/trunk,T)},{Subversion path: /trunk/hh/hhhh.dita; Revision: 234 Source Doc ID: 32 Run date:Wed Oct 17 15:07:13 EDT 2012 (Report: #188/Source: 1) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (ownerId)): (Report: #189/Source: 2) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (originalAuthorId)): (Report: #190/Source: 3) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (searchTermText)): },{[#32]/hh/hhhh.dita})},null,null,null,null) at org.springmodules.orm.ojb.OjbAccessor.convertOjbAccessException(OjbAccessor.java:92) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:144) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.store(PersistenceBrokerTemplate.java:244) at org.kuali.rice.kns.dao.impl.DocumentDaoOjb.save(DocumentDaoOjb.java:66) at org.kuali.rice.kns.dao.proxy.DocumentDaoProxy.save(DocumentDaoProxy.java:143) at sun.reflect.GeneratedMethodAccessor806.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy41.save(Unknown Source) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.validateAndPersistDocument(DocumentServiceImpl.java:687) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.validateAndPersistDocumentAndSaveAdHocRoutingRecipients(DocumentServiceImpl.java:363) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:125) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:109) at sun.reflect.GeneratedMethodAccessor829.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy49.saveDocument(Unknown Source) at org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.save(KualiDocumentActionBase.java:544) at org.kuali.kits.kms.web.KmsDocumentAction.save(KmsDocumentAction.java:517) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270) at org.kuali.rice.kns.web.struts.action.KualiAction.dispatchMethod(KualiAction.java:172) at org.kuali.rice.kns.web.struts.action.KualiAction.execute(KualiAction.java:123) at org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.execute(KualiDocumentActionBase.java:118) at org.kuali.kits.kms.web.KmsDocumentAction.execute(KmsDocumentAction.java:99) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor$1.doInTransaction(KualiRequestProcessor.java:503) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.processActionPerform(KualiRequestProcessor.java:499) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.process(KualiRequestProcessor.java:101) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.kew.web.UserLoginFilter.doFilter(UserLoginFilter.java:92) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:273) at org.kuali.rice.kew.web.DummyLoginFilter.doFilter(DummyLoginFilter.java:86) at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:266) at org.kuali.rice.kew.web.BootstrapFilter.doFilter(BootstrapFilter.java:164) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.kns.web.filter.HideWebInfFilter.doFilter(HideWebInfFilter.java:69) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: kmsDocumentRevisiondocumentHeaderId(branchId,documentId,isPublished,lastSvnRevision,isRendering,{kmsDocument},smeApprovalDate,smeApprovalById,publishOnDate,wasPublishedOn)=3920(1,32,N,234,Y,{kmsDocument(branchId,documentId,legacyDocumentId,lastSvnRevisionId,lastKmsDocumentRevisionId,createDate,lastModifiedDate,{kmsDocumentMetadata},{kmsBranch},{kmsValidationReport},{kmsFileName})=(1,32,null,234,3920,2012-10-17 15:00:59.0,2012-10-17 15:07:13.139,{kmsDocumentMetadata(documentId,svnRevisionId,ownerId,reviewCycleIntervalCount,reviewIntervalUnitsCode,reviewSetByUserId,reviewSetOnDate,reviewNote,frozenIndicator,frozenSetByUserId,frozenSetOnDate,frozenNote,visibleCode,{documentReferences},{documentTitles},{documentAudiences},{documentAuthors},{documentExpirationDates},{documentExtras},{documentResources},{documentTags})=(32,234,null,null,null,null,null,null,N,null,null,null,visible,{[]},{[audienceId=main : titleText=asdfghijkl]},{[default, kbstaff]},{[]},{[]},{[]},{[]},{[]})},{kmsBranch(branchId,branchName,branchDescription,fromPath,toPath,renderStoreReadyIndicator)=(1,trunk,trunk,null,/trunk,T)},{Subversion path: /trunk/hh/hhhh.dita; Revision: 234 Source Doc ID: 32 Run date:Wed Oct 17 15:07:13 EDT 2012 (Report: #188/Source: 1) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (ownerId)): (Report: #189/Source: 2) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (originalAuthorId)): (Report: #190/Source: 3) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (searchTermText)): },{[#32]/hh/hhhh.dita})},null,null,null,null) at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeUpdate(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.springmodules.orm.ojb.PersistenceBrokerTemplate$9.doInPersistenceBroker(PersistenceBrokerTemplate.java:246) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:141) ... 78 more

    Kuali JIRA | 4 years ago | Mike Riley
    org.springmodules.orm.ojb.OjbOperationException: OJB operation failed; nested exception is org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: kmsDocumentRevisiondocumentHeaderId(branchId,documentId,isPublished,lastSvnRevision,isRendering,{kmsDocument},smeApprovalDate,smeApprovalById,publishOnDate,wasPublishedOn)=3920(1,32,N,234,Y,{kmsDocument(branchId,documentId,legacyDocumentId,lastSvnRevisionId,lastKmsDocumentRevisionId,createDate,lastModifiedDate,{kmsDocumentMetadata},{kmsBranch},{kmsValidationReport},{kmsFileName})=(1,32,null,234,3920,2012-10-17 15:00:59.0,2012-10-17 15:07:13.139,{kmsDocumentMetadata(documentId,svnRevisionId,ownerId,reviewCycleIntervalCount,reviewIntervalUnitsCode,reviewSetByUserId,reviewSetOnDate,reviewNote,frozenIndicator,frozenSetByUserId,frozenSetOnDate,frozenNote,visibleCode,{documentReferences},{documentTitles},{documentAudiences},{documentAuthors},{documentExpirationDates},{documentExtras},{documentResources},{documentTags})=(32,234,null,null,null,null,null,null,N,null,null,null,visible,{[]},{[audienceId=main : titleText=asdfghijkl]},{[default, kbstaff]},{[]},{[]},{[]},{[]},{[]})},{kmsBranch(branchId,branchName,branchDescription,fromPath,toPath,renderStoreReadyIndicator)=(1,trunk,trunk,null,/trunk,T)},{Subversion path: /trunk/hh/hhhh.dita; Revision: 234 Source Doc ID: 32 Run date:Wed Oct 17 15:07:13 EDT 2012 (Report: #188/Source: 1) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (ownerId)): (Report: #189/Source: 2) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (originalAuthorId)): (Report: #190/Source: 3) Path: /trunk/hh/hhhh.dita [WARNING] MALFORMED_METADATA. could not validate results of field mapper( XmlToRiceFieldMapper (searchTermText)): },{[#32]/hh/hhhh.dita})},null,null,null,null)
  6. 0

    If you create a file, say, one.ditamap, and persist it from the KMS Editor, it should save just fine. Then if you immediately create, one.dita, and persist it from the KMS Editor, you'll get the dreaded object modified by someone else exception. (Assuming you click *Submit*). If you click *Submit* a second time the document persists correctly. {code} 2011-12-09 13:35:21,731 [btpool0-2:] INFO org.kuali.kits.kms.metadata.mappers.rice.objectmappers.XmlToROCollectionMapper.doMappings() :: Mapping kbh references mapper 2011-12-09 13:35:21,734 [btpool0-2:] INFO org.kuali.kits.kms.metadata.mappers.rice.objectmappers.XmlToROCollectionMapper.doMappings() :: Mapping image references mapper 2011-12-09 13:35:21,740 [btpool0-2:] DEBUG org.kuali.kits.kms.repository.RepositoryServiceImpl.<init>() :: Attempting to create SVN Client Mgr for url: file:///home/j2oaprn2/kms/svn/kits/kms/DocumentStore, userId: wsams, tempCheckoutDir: /tmp 2011-12-09 13:35:21,742 [btpool0-2:] INFO org.kuali.kits.kms.repository.RepositoryServiceImpl.<init>() :: SVN Client Mgr created for url: file:///home/j2oaprn2/kms/svn/kits/kms/DocumentStore, userId: wsams, tempCheckoutDir: /tmp 2011-12-09 13:35:22,100 [btpool0-2:] DEBUG org.kuali.kits.kms.repository.RepositoryServiceImpl.update() :: Finished updating svn directory. 2011-12-09 13:35:22,102 [btpool0-2:] INFO org.kuali.rice.kns.document.DocumentBase.validateBusinessRules() :: invoking rules engine on document 3618 2011-12-09 13:35:22,165 [btpool0-2:] INFO org.kuali.rice.kns.service.impl.DocumentServiceImpl.validateAndPersistDocument() :: storing document 3618 2011-12-09 13:35:22,187 [btpool0-2:] FATAL org.kuali.rice.core.database.KualiTransactionInterceptor.completeTransactionAfterThrowing() :: Exception caught by Transaction Interceptor, this will cause a rollback at the end of the transaction. org.springmodules.orm.ojb.OjbOperationException: OJB operation failed; nested exception is org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: kmsDocument(branchId,documentId,legacyDocumentId,lastSvnRevisionId,lastKmsDocumentRevisionId,createDate,lastModifiedDate,{kmsDocumentMetadata},{kmsBranch},{kmsValidationReport},{kmsFileName})=(1,3,null,7,3618,2011-12-09 13:35:02.43,2011-12-09 13:35:20.554,{kmsDocumentMetadata(documentId,svnRevisionId,ownerId,reviewCycleIntervalCount,reviewIntervalUnitsCode,reviewSetByUserId,reviewSetOnDate,reviewNote,frozenIndicator,frozenSetByUserId,frozenSetOnDate,frozenNote,visibleCode,{documentReferences},{documentTitles},{documentAudiences},{documentAuthors},{documentExpirationDates},{documentExtras},{documentResources},{documentTags})=(3,7,null,null,null,null,null,null,N,null,null,null,null,{[]},{[kmsDocumentTitle(documentId,svnRevisionId,audienceId,titleText)=(3,7,default,Shopping for groceries)]},{[]},{[kmsDocumentAuthor(documentId,svnRevisionId,originalAuthorId)=(3,7,Tom McIntyre)]},{[]},{[kmsDocumentExtra(documentId,svnRevisionId,searchTermText,searchTermWeight)=(3,7,grocery shopping,null)]},{[]},{[]})},{kmsBranch(branchId,branchName,branchDescription,fromPath,toPath)=(1,trunk,trunk,null,null)},{Subversion path: /trunk/one.dita; Revision: 7 Source Doc ID: 3 Run date:Fri Dec 09 13:35:20 EST 2011 (Report: #4/Source: 0) Path: /trunk/one.dita:3:36 [CRITICAL] (kbdoc/topic:id) DITA_ID_INVALID. Failed to find expected an ID of "one".: kbdoc },{[#3]/one.dita}) at org.springmodules.orm.ojb.OjbAccessor.convertOjbAccessException(OjbAccessor.java:92) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:144) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.store(PersistenceBrokerTemplate.java:244) at org.kuali.rice.kns.dao.impl.DocumentDaoOjb.save(DocumentDaoOjb.java:66) at org.kuali.rice.kns.dao.proxy.DocumentDaoProxy.save(DocumentDaoProxy.java:143) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy41.save(Unknown Source) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.validateAndPersistDocument(DocumentServiceImpl.java:687) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.routeDocument(DocumentServiceImpl.java:183) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy49.routeDocument(Unknown Source) at org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.route(KualiDocumentActionBase.java:744) at org.kuali.kits.kms.web.KmsDocumentAction.route(KmsDocumentAction.java:222) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270) at org.kuali.rice.kns.web.struts.action.KualiAction.dispatchMethod(KualiAction.java:172) at org.kuali.rice.kns.web.struts.action.KualiAction.execute(KualiAction.java:123) at org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.execute(KualiDocumentActionBase.java:118) at org.kuali.kits.kms.web.KmsDocumentAction.execute(KmsDocumentAction.java:69) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor$1.doInTransaction(KualiRequestProcessor.java:503) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.processActionPerform(KualiRequestProcessor.java:499) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.process(KualiRequestProcessor.java:101) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074) at org.kuali.rice.kew.web.UserLoginFilter.doFilter(UserLoginFilter.java:92) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:273) at org.kuali.rice.kew.web.DummyLoginFilter.doFilter(DummyLoginFilter.java:86) at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:266) at org.kuali.rice.kew.web.BootstrapFilter.doFilter(BootstrapFilter.java:164) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.kuali.rice.kns.web.filter.HideWebInfFilter.doFilter(HideWebInfFilter.java:69) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.__handle(ContextHandler.java:689) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:285) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:203) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357) at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:217) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475) Caused by: org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: kmsDocument(branchId,documentId,legacyDocumentId,lastSvnRevisionId,lastKmsDocumentRevisionId,createDate,lastModifiedDate,{kmsDocumentMetadata},{kmsBranch},{kmsValidationReport},{kmsFileName})=(1,3,null,7,3618,2011-12-09 13:35:02.43,2011-12-09 13:35:20.554,{kmsDocumentMetadata(documentId,svnRevisionId,ownerId,reviewCycleIntervalCount,reviewIntervalUnitsCode,reviewSetByUserId,reviewSetOnDate,reviewNote,frozenIndicator,frozenSetByUserId,frozenSetOnDate,frozenNote,visibleCode,{documentReferences},{documentTitles},{documentAudiences},{documentAuthors},{documentExpirationDates},{documentExtras},{documentResources},{documentTags})=(3,7,null,null,null,null,null,null,N,null,null,null,null,{[]},{[kmsDocumentTitle(documentId,svnRevisionId,audienceId,titleText)=(3,7,default,Shopping for groceries)]},{[]},{[kmsDocumentAuthor(documentId,svnRevisionId,originalAuthorId)=(3,7,Tom McIntyre)]},{[]},{[kmsDocumentExtra(documentId,svnRevisionId,searchTermText,searchTermWeight)=(3,7,grocery shopping,null)]},{[]},{[]})},{kmsBranch(branchId,branchName,branchDescription,fromPath,toPath)=(1,trunk,trunk,null,null)},{Subversion path: /trunk/one.dita; Revision: 7 Source Doc ID: 3 Run date:Fri Dec 09 13:35:20 EST 2011 (Report: #4/Source: 0) Path: /trunk/one.dita:3:36 [CRITICAL] (kbdoc/topic:id) DITA_ID_INVALID. Failed to find expected an ID of "one".: kbdoc },{[#3]/one.dita}) at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeUpdate(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeAndLinkOneToOne(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.springmodules.orm.ojb.PersistenceBrokerTemplate$9.doInPersistenceBroker(PersistenceBrokerTemplate.java:246) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:141) ... 75 more 2011-12-09 13:35:22,191 [btpool0-2:] FATAL org.kuali.rice.core.database.KualiTransactionInterceptor.completeTransactionAfterThrowing() :: Exception caught by Transaction Interceptor, this will cause a rollback at the end of the transaction. org.springmodules.orm.ojb.OjbOperationException: OJB operation failed; nested exception is org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: kmsDocument(branchId,documentId,legacyDocumentId,lastSvnRevisionId,lastKmsDocumentRevisionId,createDate,lastModifiedDate,{kmsDocumentMetadata},{kmsBranch},{kmsValidationReport},{kmsFileName})=(1,3,null,7,3618,2011-12-09 13:35:02.43,2011-12-09 13:35:20.554,{kmsDocumentMetadata(documentId,svnRevisionId,ownerId,reviewCycleIntervalCount,reviewIntervalUnitsCode,reviewSetByUserId,reviewSetOnDate,reviewNote,frozenIndicator,frozenSetByUserId,frozenSetOnDate,frozenNote,visibleCode,{documentReferences},{documentTitles},{documentAudiences},{documentAuthors},{documentExpirationDates},{documentExtras},{documentResources},{documentTags})=(3,7,null,null,null,null,null,null,N,null,null,null,null,{[]},{[kmsDocumentTitle(documentId,svnRevisionId,audienceId,titleText)=(3,7,default,Shopping for groceries)]},{[]},{[kmsDocumentAuthor(documentId,svnRevisionId,originalAuthorId)=(3,7,Tom McIntyre)]},{[]},{[kmsDocumentExtra(documentId,svnRevisionId,searchTermText,searchTermWeight)=(3,7,grocery shopping,null)]},{[]},{[]})},{kmsBranch(branchId,branchName,branchDescription,fromPath,toPath)=(1,trunk,trunk,null,null)},{Subversion path: /trunk/one.dita; Revision: 7 Source Doc ID: 3 Run date:Fri Dec 09 13:35:20 EST 2011 (Report: #4/Source: 0) Path: /trunk/one.dita:3:36 [CRITICAL] (kbdoc/topic:id) DITA_ID_INVALID. Failed to find expected an ID of "one".: kbdoc },{[#3]/one.dita}) at org.springmodules.orm.ojb.OjbAccessor.convertOjbAccessException(OjbAccessor.java:92) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:144) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.store(PersistenceBrokerTemplate.java:244) at org.kuali.rice.kns.dao.impl.DocumentDaoOjb.save(DocumentDaoOjb.java:66) at org.kuali.rice.kns.dao.proxy.DocumentDaoProxy.save(DocumentDaoProxy.java:143) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy41.save(Unknown Source) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.validateAndPersistDocument(DocumentServiceImpl.java:687) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.routeDocument(DocumentServiceImpl.java:183) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy49.routeDocument(Unknown Source) at org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.route(KualiDocumentActionBase.java:744) at org.kuali.kits.kms.web.KmsDocumentAction.route(KmsDocumentAction.java:222) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270) at org.kuali.rice.kns.web.struts.action.KualiAction.dispatchMethod(KualiAction.java:172) at org.kuali.rice.kns.web.struts.action.KualiAction.execute(KualiAction.java:123) at org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.execute(KualiDocumentActionBase.java:118) at org.kuali.kits.kms.web.KmsDocumentAction.execute(KmsDocumentAction.java:69) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor$1.doInTransaction(KualiRequestProcessor.java:503) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.processActionPerform(KualiRequestProcessor.java:499) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.process(KualiRequestProcessor.java:101) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074) at org.kuali.rice.kew.web.UserLoginFilter.doFilter(UserLoginFilter.java:92) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:273) at org.kuali.rice.kew.web.DummyLoginFilter.doFilter(DummyLoginFilter.java:86) at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:266) at org.kuali.rice.kew.web.BootstrapFilter.doFilter(BootstrapFilter.java:164) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.kuali.rice.kns.web.filter.HideWebInfFilter.doFilter(HideWebInfFilter.java:69) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.__handle(ContextHandler.java:689) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:285) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:203) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357) at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:217) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475) Caused by: org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: kmsDocument(branchId,documentId,legacyDocumentId,lastSvnRevisionId,lastKmsDocumentRevisionId,createDate,lastModifiedDate,{kmsDocumentMetadata},{kmsBranch},{kmsValidationReport},{kmsFileName})=(1,3,null,7,3618,2011-12-09 13:35:02.43,2011-12-09 13:35:20.554,{kmsDocumentMetadata(documentId,svnRevisionId,ownerId,reviewCycleIntervalCount,reviewIntervalUnitsCode,reviewSetByUserId,reviewSetOnDate,reviewNote,frozenIndicator,frozenSetByUserId,frozenSetOnDate,frozenNote,visibleCode,{documentReferences},{documentTitles},{documentAudiences},{documentAuthors},{documentExpirationDates},{documentExtras},{documentResources},{documentTags})=(3,7,null,null,null,null,null,null,N,null,null,null,null,{[]},{[kmsDocumentTitle(documentId,svnRevisionId,audienceId,titleText)=(3,7,default,Shopping for groceries)]},{[]},{[kmsDocumentAuthor(documentId,svnRevisionId,originalAuthorId)=(3,7,Tom McIntyre)]},{[]},{[kmsDocumentExtra(documentId,svnRevisionId,searchTermText,searchTermWeight)=(3,7,grocery shopping,null)]},{[]},{[]})},{kmsBranch(branchId,branchName,branchDescription,fromPath,toPath)=(1,trunk,trunk,null,null)},{Subversion path: /trunk/one.dita; Revision: 7 Source Doc ID: 3 Run date:Fri Dec 09 13:35:20 EST 2011 (Report: #4/Source: 0) Path: /trunk/one.dita:3:36 [CRITICAL] (kbdoc/topic:id) DITA_ID_INVALID. Failed to find expected an ID of "one".: kbdoc },{[#3]/one.dita}) at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeUpdate(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeAndLinkOneToOne(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.springmodules.orm.ojb.PersistenceBrokerTemplate$9.doInPersistenceBroker(PersistenceBrokerTemplate.java:246) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:141) ... 75 more 2011-12-09 13:35:22,194 [btpool0-2:] INFO org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.logOjbOptimisticLockException() :: caught OptimisticLockException, caused by kmsDocument(branchId,documentId,legacyDocumentId,lastSvnRevisionId,lastKmsDocumentRevisionId,createDate,lastModifiedDate,{kmsDocumentMetadata},{kmsBranch},{kmsValidationReport},{kmsFileName})=(1,3,null,7,3618,2011-12-09 13:35:02.43,2011-12-09 13:35:20.554,{kmsDocumentMetadata(documentId,svnRevisionId,ownerId,reviewCycleIntervalCount,reviewIntervalUnitsCode,reviewSetByUserId,reviewSetOnDate,reviewNote,frozenIndicator,frozenSetByUserId,frozenSetOnDate,frozenNote,visibleCode,{documentReferences},{documentTitles},{documentAudiences},{documentAuthors},{documentExpirationDates},{documentExtras},{documentResources},{documentTags})=(3,7,null,null,null,null,null,null,N,null,null,null,null,{[]},{[kmsDocumentTitle(documentId,svnRevisionId,audienceId,titleText)=(3,7,default,Shopping for groceries)]},{[]},{[kmsDocumentAuthor(documentId,svnRevisionId,originalAuthorId)=(3,7,Tom McIntyre)]},{[]},{[kmsDocumentExtra(documentId,svnRevisionId,searchTermText,searchTermWeight)=(3,7,grocery shopping,null)]},{[]},{[]})},{kmsBranch(branchId,branchName,branchDescription,fromPath,toPath)=(1,trunk,trunk,null,null)},{Subversion path: /trunk/one.dita; Revision: 7 Source Doc ID: 3 Run date:Fri Dec 09 13:35:20 EST 2011 (Report: #4/Source: 0) Path: /trunk/one.dita:3:36 [CRITICAL] (kbdoc/topic:id) DITA_ID_INVALID. Failed to find expected an ID of "one".: kbdoc },{[#3]/one.dita}) [versionNumber = 1] org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: kmsDocument(branchId,documentId,legacyDocumentId,lastSvnRevisionId,lastKmsDocumentRevisionId,createDate,lastModifiedDate,{kmsDocumentMetadata},{kmsBranch},{kmsValidationReport},{kmsFileName})=(1,3,null,7,3618,2011-12-09 13:35:02.43,2011-12-09 13:35:20.554,{kmsDocumentMetadata(documentId,svnRevisionId,ownerId,reviewCycleIntervalCount,reviewIntervalUnitsCode,reviewSetByUserId,reviewSetOnDate,reviewNote,frozenIndicator,frozenSetByUserId,frozenSetOnDate,frozenNote,visibleCode,{documentReferences},{documentTitles},{documentAudiences},{documentAuthors},{documentExpirationDates},{documentExtras},{documentResources},{documentTags})=(3,7,null,null,null,null,null,null,N,null,null,null,null,{[]},{[kmsDocumentTitle(documentId,svnRevisionId,audienceId,titleText)=(3,7,default,Shopping for groceries)]},{[]},{[kmsDocumentAuthor(documentId,svnRevisionId,originalAuthorId)=(3,7,Tom McIntyre)]},{[]},{[kmsDocumentExtra(documentId,svnRevisionId,searchTermText,searchTermWeight)=(3,7,grocery shopping,null)]},{[]},{[]})},{kmsBranch(branchId,branchName,branchDescription,fromPath,toPath)=(1,trunk,trunk,null,null)},{Subversion path: /trunk/one.dita; Revision: 7 Source Doc ID: 3 Run date:Fri Dec 09 13:35:20 EST 2011 (Report: #4/Source: 0) Path: /trunk/one.dita:3:36 [CRITICAL] (kbdoc/topic:id) DITA_ID_INVALID. Failed to find expected an ID of "one".: kbdoc },{[#3]/one.dita}) at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeUpdate(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeAndLinkOneToOne(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.springmodules.orm.ojb.PersistenceBrokerTemplate$9.doInPersistenceBroker(PersistenceBrokerTemplate.java:246) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:141) at org.springmodules.orm.ojb.PersistenceBrokerTemplate.store(PersistenceBrokerTemplate.java:244) at org.kuali.rice.kns.dao.impl.DocumentDaoOjb.save(DocumentDaoOjb.java:66) at org.kuali.rice.kns.dao.proxy.DocumentDaoProxy.save(DocumentDaoProxy.java:143) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy41.save(Unknown Source) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.validateAndPersistDocument(DocumentServiceImpl.java:687) at org.kuali.rice.kns.service.impl.DocumentServiceImpl.routeDocument(DocumentServiceImpl.java:183) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy49.routeDocument(Unknown Source) at org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.route(KualiDocumentActionBase.java:744) at org.kuali.kits.kms.web.KmsDocumentAction.route(KmsDocumentAction.java:222) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270) at org.kuali.rice.kns.web.struts.action.KualiAction.dispatchMethod(KualiAction.java:172) at org.kuali.rice.kns.web.struts.action.KualiAction.execute(KualiAction.java:123) at org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.execute(KualiDocumentActionBase.java:118) at org.kuali.kits.kms.web.KmsDocumentAction.execute(KmsDocumentAction.java:69) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor$1.doInTransaction(KualiRequestProcessor.java:503) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.processActionPerform(KualiRequestProcessor.java:499) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.process(KualiRequestProcessor.java:101) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074) at org.kuali.rice.kew.web.UserLoginFilter.doFilter(UserLoginFilter.java:92) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:273) at org.kuali.rice.kew.web.DummyLoginFilter.doFilter(DummyLoginFilter.java:86) at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:266) at org.kuali.rice.kew.web.BootstrapFilter.doFilter(BootstrapFilter.java:164) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.kuali.rice.kns.web.filter.HideWebInfFilter.doFilter(HideWebInfFilter.java:69) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.__handle(ContextHandler.java:689) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:285) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:203) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357) at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:217) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475) 2011-12-09 13:35:22,648 [btpool0-2:] INFO org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.process() :: Finished processing request: '/kms-dev/document.do' w/ query string: 'null' 2011-12-09 13:35:22,916 [btpool0-2:] INFO org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.process() :: Started processing request: '/kms-dev/kew/RouteLog.do' w/ query string: 'routeHeaderId=3618' 2011-12-09 13:35:22,988 [btpool0-2:] WARN org.kuali.rice.kns.web.struts.action.KualiAction.execute() :: WARNING: This implementation of Kuali uses the demonstration encryption framework. 2011-12-09 13:35:23,114 [btpool0-2:] INFO org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.process() :: Finished processing request: '/kms-dev/kew/RouteLog.do' w/ query string: 'routeHeaderId=3618' 2011-12-09 13:35:23,128 [btpool0-2:] DEBUG org.kuali.kits.kms.bo.KmsJdbcDaoImpl.getJdbcConnection() :: get datasource connection 2011-12-09 13:35:23,137 [btpool0-2:] DEBUG org.kuali.kits.kms.rest.RestControllerV0.getJsonAudienceListFragment() :: SQL query = select kms_fil_nm_t.fil_nm as filename, kms_fil_nm_t.fil_typ_cd as extension from kms_doc_t, kms_branch_t, kms_fil_nm_t where kms_doc_t.branch_id = kms_branch_t.branch_id and kms_fil_nm_t.fil_typ_cd = 'ditaval' and kms_branch_t.branch_nm = ? and kms_doc_t.doc_id = kms_fil_nm_t.doc_id order by kms_fil_nm_t.fld_path asc, kms_fil_nm_t.fil_nm asc 2011-12-09 13:35:24,523 [pool-5-thread-1:] INFO org.kuali.kits.kms.repository.RepositoryPollerTask.run() :: latest revision: 7; last processed revision: 6; (file:///home/j2oaprn2/kms/svn/kits/kms/DocumentStore) 2011-12-09 13:35:24,530 [pool-5-thread-1:] INFO org.kuali.kits.kms.repository.RepositoryPollerTask.processLogEntry() :: new revision: 7; author: wsams; date: Fri Dec 09 13:35:20 EST 2011; message: one.dita null :Ignore: true {code}

    Kuali JIRA | 5 years ago | Weldon Sams
    org.springmodules.orm.ojb.OjbOperationException: OJB operation failed; nested exception is org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else: kmsDocument(branchId,documentId,legacyDocumentId,lastSvnRevisionId,lastKmsDocumentRevisionId,createDate,lastModifiedDate,{kmsDocumentMetadata},{kmsBranch},{kmsValidationReport},{kmsFileName})=(1,3,null,7,3618,2011-12-09 13:35:02.43,2011-12-09 13:35:20.554,{kmsDocumentMetadata(documentId,svnRevisionId,ownerId,reviewCycleIntervalCount,reviewIntervalUnitsCode,reviewSetByUserId,reviewSetOnDate,reviewNote,frozenIndicator,frozenSetByUserId,frozenSetOnDate,frozenNote,visibleCode,{documentReferences},{documentTitles},{documentAudiences},{documentAuthors},{documentExpirationDates},{documentExtras},{documentResources},{documentTags})=(3,7,null,null,null,null,null,null,N,null,null,null,null,{[]},{[kmsDocumentTitle(documentId,svnRevisionId,audienceId,titleText)=(3,7,default,Shopping for groceries)]},{[]},{[kmsDocumentAuthor(documentId,svnRevisionId,originalAuthorId)=(3,7,Tom McIntyre)]},{[]},{[kmsDocumentExtra(documentId,svnRevisionId,searchTermText,searchTermWeight)=(3,7,grocery shopping,null)]},{[]},{[]})},{kmsBranch(branchId,branchName,branchDescription,fromPath,toPath)=(1,trunk,trunk,null,null)},{Subversion path: /trunk/one.dita; Revision: 7 Source Doc ID: 3 Run date:Fri Dec 09 13:35:20 EST 2011 (Report: #4/Source: 0) Path: /trunk/one.dita:3:36 [CRITICAL] (kbdoc/topic:id) DITA_ID_INVALID. Failed to find expected an ID of "one".: kbdoc },{[#3]/one.dita})

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. org.apache.ojb.broker.OptimisticLockException

      Object has been modified by someone else: toReferenceText=what : referenceTypeCode=AUDIENCE

      at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeUpdate()
    2. ObJectRelationalBridge
      DelegatingPersistenceBroker.store
      1. org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeUpdate(Unknown Source)
      2. org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source)
      3. org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source)
      4. org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source)
      5. org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source)
      6. org.apache.ojb.broker.core.PersistenceBrokerImpl.storeAndLinkOneToMany(Unknown Source)
      7. org.apache.ojb.broker.core.PersistenceBrokerImpl.storeCollections(Unknown Source)
      8. org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source)
      9. org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source)
      10. org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source)
      11. org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source)
      12. org.apache.ojb.broker.core.PersistenceBrokerImpl.storeAndLinkOneToOne(Unknown Source)
      13. org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Unknown Source)
      14. org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source)
      15. org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source)
      16. org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source)
      17. org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source)
      18. org.apache.ojb.broker.core.PersistenceBrokerImpl.storeAndLinkOneToOne(Unknown Source)
      19. org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Unknown Source)
      20. org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source)
      21. org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source)
      22. org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source)
      23. org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source)
      24. org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source)
      25. org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source)
      25 frames
    3. org.springmodules.orm
      PersistenceBrokerTemplate.store
      1. org.springmodules.orm.ojb.PersistenceBrokerTemplate$9.doInPersistenceBroker(PersistenceBrokerTemplate.java:246)
      2. org.springmodules.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:141)
      3. org.springmodules.orm.ojb.PersistenceBrokerTemplate.store(PersistenceBrokerTemplate.java:244)
      3 frames
    4. org.kuali.rice
      DocumentDaoProxy.save
      1. org.kuali.rice.kns.dao.impl.DocumentDaoOjb.save(DocumentDaoOjb.java:66)
      2. org.kuali.rice.kns.dao.proxy.DocumentDaoProxy.save(DocumentDaoProxy.java:143)
      2 frames
    5. Java RT
      Method.invoke
      1. sun.reflect.GeneratedMethodAccessor702.invoke(Unknown Source)
      2. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      3. java.lang.reflect.Method.invoke(Method.java:597)
      3 frames
    6. Spring AOP
      ReflectiveMethodInvocation.proceed
      1. org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      2. org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      3. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      3 frames
    7. Spring Tx
      TransactionInterceptor.invoke
      1. org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
      1 frame
    8. Spring AOP
      JdkDynamicAopProxy.invoke
      1. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      2. org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      2 frames
    9. Unknown
      $Proxy41.save
      1. $Proxy41.save(Unknown Source)
      1 frame
    10. org.kuali.rice
      DocumentServiceImpl.saveDocument
      1. org.kuali.rice.kns.service.impl.DocumentServiceImpl.validateAndPersistDocument(DocumentServiceImpl.java:687)
      2. org.kuali.rice.kns.service.impl.DocumentServiceImpl.validateAndPersistDocumentAndSaveAdHocRoutingRecipients(DocumentServiceImpl.java:363)
      3. org.kuali.rice.kns.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:125)
      4. org.kuali.rice.kns.service.impl.DocumentServiceImpl.saveDocument(DocumentServiceImpl.java:109)
      4 frames
    11. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      4. java.lang.reflect.Method.invoke(Method.java:597)
      4 frames
    12. Spring AOP
      ReflectiveMethodInvocation.proceed
      1. org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      2. org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      3. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      3 frames
    13. Spring Tx
      TransactionInterceptor.invoke
      1. org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
      1 frame
    14. Spring AOP
      JdkDynamicAopProxy.invoke
      1. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      2. org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      2 frames
    15. Unknown
      $Proxy49.saveDocument
      1. $Proxy49.saveDocument(Unknown Source)
      1 frame
    16. org.kuali.rice
      KualiDocumentActionBase.save
      1. org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.save(KualiDocumentActionBase.java:544)
      1 frame
    17. org.kuali.kits
      KmsDocumentAction.save
      1. org.kuali.kits.kms.web.KmsDocumentAction.save(KmsDocumentAction.java:571)
      1 frame
    18. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      4. java.lang.reflect.Method.invoke(Method.java:597)
      4 frames
    19. struts
      DispatchAction.dispatchMethod
      1. org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
      1 frame
    20. org.kuali.rice
      KualiDocumentActionBase.execute
      1. org.kuali.rice.kns.web.struts.action.KualiAction.dispatchMethod(KualiAction.java:172)
      2. org.kuali.rice.kns.web.struts.action.KualiAction.execute(KualiAction.java:123)
      3. org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.execute(KualiDocumentActionBase.java:118)
      3 frames
    21. org.kuali.kits
      KmsDocumentAction.execute
      1. org.kuali.kits.kms.web.KmsDocumentAction.execute(KmsDocumentAction.java:98)
      1 frame
    22. org.kuali.rice
      KualiRequestProcessor$1.doInTransaction
      1. org.kuali.rice.kns.web.struts.action.KualiRequestProcessor$1.doInTransaction(KualiRequestProcessor.java:503)
      1 frame
    23. Spring Tx
      TransactionTemplate.execute
      1. org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
      1 frame
    24. org.kuali.rice
      KualiRequestProcessor.processActionPerform
      1. org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.processActionPerform(KualiRequestProcessor.java:499)
      1 frame
    25. struts
      RequestProcessor.process
      1. org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
      1 frame
    26. org.kuali.rice
      KualiRequestProcessor.process
      1. org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.process(KualiRequestProcessor.java:101)
      1 frame
    27. struts
      ActionServlet.doPost
      1. org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
      2. org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
      2 frames
    28. JavaServlet
      HttpServlet.service
      1. javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
      2. javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
      2 frames
    29. Glassfish Core
      ApplicationFilterChain.doFilter
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      2 frames
    30. org.kuali.rice
      UserLoginFilter.doFilter
      1. org.kuali.rice.kew.web.UserLoginFilter.doFilter(UserLoginFilter.java:92)
      1 frame
    31. Glassfish Core
      ApplicationFilterChain.doFilter
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      2 frames
    32. org.kuali.rice
      BootstrapFilter.doFilter
      1. org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:273)
      2. org.kuali.rice.kew.web.DummyLoginFilter.doFilter(DummyLoginFilter.java:86)
      3. org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:266)
      4. org.kuali.rice.kew.web.BootstrapFilter.doFilter(BootstrapFilter.java:164)
      4 frames
    33. Glassfish Core
      ApplicationFilterChain.doFilter
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      2 frames
    34. Display tag library
      ResponseOverrideFilter.doFilter
      1. org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
      1 frame
    35. Glassfish Core
      ApplicationFilterChain.doFilter
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      2 frames
    36. org.kuali.rice
      HideWebInfFilter.doFilter
      1. org.kuali.rice.kns.web.filter.HideWebInfFilter.doFilter(HideWebInfFilter.java:69)
      1 frame
    37. Glassfish Core
      CoyoteAdapter.service
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      3. org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
      4. org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
      5. org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
      6. org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
      7. org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
      8. org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
      9. org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
      10. org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
      10 frames
    38. Grizzly HTTP
      JIoEndpoint$SocketProcessor.run
      1. org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
      2. org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
      3. org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
      3 frames
    39. Java RT
      Thread.run
      1. java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      2. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      3. java.lang.Thread.run(Thread.java:662)
      3 frames