Uploaded image for project: 'Kuali Rice Development'
  1. Kuali Rice Development
  2. KULRICE-12124

Submitting a Person document causes a stacktrace even though the document goes final

    Details

    • Type: Bug Fix
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.4
    • Component/s: HTTP Unit Testing
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Rice Module:
      KNS
    • Sprint:
      2.4.0-rc1 Sprint 6
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Code Review Status:
      Not Required
    • Include in Release Notes?:
      Yes

      Description

      Create a new Person document with a delegation member and Submit. The following exception occurs even though the 'Document has been successfully submitted' is displayed.

      Exception Description: The object [org.kuali.rice.kim.impl.common.delegate.DelegateTypeBo@70df2401[delegationId=10002,roleId=63,active=true,kimTypeId=1,delegationTypeCode=S,members=[org.kuali.rice.kim.impl.common.delegate.DelegateMemberBo@182a0e60[delegationMemberId=10002,delegationId=10002,roleMemberId=1283,attributeDetails=[],memberId=<null>,typeCode=P,versionNumber=1,objectId=363c4316-a918-47c5-845e-bab6e5218614]],versionNumber=1,objectId=171376fb-802a-4cee-8379-ac9c928b23af]] cannot be merged because it has changed or been deleted since it was last read. 
      Class> org.kuali.rice.kim.impl.common.delegate.DelegateTypeBo
      	at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:310)
      	at org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:121)
      	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:403)
      	at org.kuali.rice.krad.data.jpa.KradEntityManagerFactoryBean.translateExceptionIfPossible(KradEntityManagerFactoryBean.java:405)
      	at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:58)
      	at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213)
      	at org.kuali.rice.krad.data.jpa.JpaPersistenceProvider.doWithExceptionTranslation(JpaPersistenceProvider.java:272)
      	at org.kuali.rice.krad.data.jpa.JpaPersistenceProvider.save(JpaPersistenceProvider.java:135)
      	at sun.reflect.GeneratedMethodAccessor748.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
      	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
      	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at com.sun.proxy.$Proxy40.save(Unknown Source)
      	at org.kuali.rice.krad.data.provider.impl.ProviderBasedDataObjectService.save(ProviderBasedDataObjectService.java:111)
      	at org.kuali.rice.kim.service.impl.UiDocumentServiceImpl.saveEntityPerson(UiDocumentServiceImpl.java:271)
      	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:606)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
      	at org.springframework.cache.interceptor.CacheInterceptor$1.invoke(CacheInterceptor.java:58)
      	at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:214)
      	at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:66)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at com.sun.proxy.$Proxy297.saveEntityPerson(Unknown Source)
      	at org.kuali.rice.kim.document.IdentityManagementPersonDocument.doRouteStatusChange(IdentityManagementPersonDocument.java:344)
      	at org.kuali.rice.krad.service.impl.PostProcessorServiceImpl$1.call(PostProcessorServiceImpl.java:80)
      	at org.kuali.rice.krad.service.impl.PostProcessorServiceImpl$1.call(PostProcessorServiceImpl.java:62)
      	at org.kuali.rice.krad.util.GlobalVariables.doInNewGlobalVariables(GlobalVariables.java:204)
      	at org.kuali.rice.krad.service.impl.PostProcessorServiceImpl.doInContext(PostProcessorServiceImpl.java:393)
      	at org.kuali.rice.krad.service.impl.PostProcessorServiceImpl.doRouteStatusChange(PostProcessorServiceImpl.java:62)
      	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:606)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
      	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
      	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at com.sun.proxy.$Proxy96.doRouteStatusChange(Unknown Source)
      	at org.kuali.rice.krad.workflow.postprocessor.KualiPostProcessor.doRouteStatusChange(KualiPostProcessor.java:56)
      	at org.kuali.rice.kew.engine.StandardWorkflowEngine.notifyPostProcessor(StandardWorkflowEngine.java:491)
      	at org.kuali.rice.kew.engine.StandardWorkflowEngine.nodePostProcess(StandardWorkflowEngine.java:401)
      	at org.kuali.rice.kew.engine.StandardWorkflowEngine.process(StandardWorkflowEngine.java:148)
      	at org.kuali.rice.kew.impl.document.DocumentProcessingQueueImpl.processWithOptions(DocumentProcessingQueueImpl.java:62)
      	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:606)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
      	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
      	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at com.sun.proxy.$Proxy187.processWithOptions(Unknown Source)
      	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:606)
      	at org.kuali.rice.ksb.messaging.MessageServiceInvoker.invokeService(MessageServiceInvoker.java:157)
      	at org.kuali.rice.ksb.messaging.MessageServiceInvoker$1.doInTransaction(MessageServiceInvoker.java:72)
      	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:131)
      	at org.kuali.rice.ksb.messaging.MessageServiceInvoker.run(MessageServiceInvoker.java:67)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:724)
      Caused by: javax.persistence.OptimisticLockException: Exception [EclipseLink-5010] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.OptimisticLockException
      Exception Description: The object [org.kuali.rice.kim.impl.common.delegate.DelegateTypeBo@70df2401[delegationId=10002,roleId=63,active=true,kimTypeId=1,delegationTypeCode=S,members=[org.kuali.rice.kim.impl.common.delegate.DelegateMemberBo@182a0e60[delegationMemberId=10002,delegationId=10002,roleMemberId=1283,attributeDetails=[],memberId=<null>,typeCode=P,versionNumber=1,objectId=363c4316-a918-47c5-845e-bab6e5218614]],versionNumber=1,objectId=171376fb-802a-4cee-8379-ac9c928b23af]] cannot be merged because it has changed or been deleted since it was last read. 
      
      

        Attachments

          Activity

          There are no comments yet on this issue.

            People

            • Assignee:
              sonam Sona Sona (Inactive)
              Reporter:
              sonam Sona Sona (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 6 hours
                6h
                Remaining:
                Time Spent - 4 hours Remaining Estimate - 2 hours
                2h
                Logged:
                Time Spent - 4 hours Remaining Estimate - 2 hours
                4h