org.kuali.rice.kim.bo.ui.RoleDocumentDelegationMember

Kuali JIRA | Shannon Hess | 2 years ago
  1. 0

    The fix for KULRICE-14235 included changing the fix made for KULRICE-12124- Submitting a Person document causes a stacktrace even though the document goes final. Due to that, I did some testing of the person document and found another issue. I verified that this error also occurs before any code changes were made for KULRICE-14235. After you create a person with a delegate, it is not possible to edit the person without getting an optimistic lock exception. {code} ******************Stack Trace-Only shown when not in production***************** org.springframework.orm.jpa.JpaOptimisticLockingFailureException: Exception [EclipseLink-5010] (Eclipse Persistence Services - 2.6.0.v20140809-296a69f): org.eclipse.persistence.exceptions.OptimisticLockException Exception Description: The object [org.kuali.rice.kim.bo.ui.RoleDocumentDelegationMember@1918f45a[serialVersionUID=1,delegationMemberId=10000,roleMemberId=KR1000,roleMemberMemberId=,roleMemberMemberTypeCode=,roleMemberName=guest,roleMemberNamespaceCode=,delegationId=10000,memberId=10000,memberTypeCode=P,memberNamespaceCode=,memberName=sam,delegationTypeCode=P,serialVersionUID=9042706897191231671,active=true,edit=true,serialVersionUID=9042706897191231670,documentNumber=3048,serialVersionUID=1451642350593233282,versionNumber=1,objectId=a0d97ca7-62b8-485a-93e5-942f999741b2,newCollectionRecord=false,serialVersionUID=5563310175227245001,_persistence_shouldRefreshFetchGroup=false]] cannot be merged because it has changed or been deleted since it was last read. Class> org.kuali.rice.kim.bo.ui.RoleDocumentDelegationMember; nested exception is javax.persistence.OptimisticLockException: Exception [EclipseLink-5010] (Eclipse Persistence Services - 2.6.0.v20140809-296a69f): org.eclipse.persistence.exceptions.OptimisticLockException Exception Description: The object [org.kuali.rice.kim.bo.ui.RoleDocumentDelegationMember@1918f45a[serialVersionUID=1,delegationMemberId=10000,roleMemberId=KR1000,roleMemberMemberId=,roleMemberMemberTypeCode=,roleMemberName=guest,roleMemberNamespaceCode=,delegationId=10000,memberId=10000,memberTypeCode=P,memberNamespaceCode=,memberName=sam,delegationTypeCode=P,serialVersionUID=9042706897191231671,active=true,edit=true,serialVersionUID=9042706897191231670,documentNumber=3048,serialVersionUID=1451642350593233282,versionNumber=1,objectId=a0d97ca7-62b8-485a-93e5-942f999741b2,newCollectionRecord=false,serialVersionUID=5563310175227245001,_persistence_shouldRefreshFetchGroup=false]] cannot be merged because it has changed or been deleted since it was last read. Class> org.kuali.rice.kim.bo.ui.RoleDocumentDelegationMember at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:404) at org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:122) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:417) at org.kuali.rice.krad.data.jpa.KradEntityManagerFactoryBean.translateExceptionIfPossible(KradEntityManagerFactoryBean.java:533) at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59) at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213) at org.kuali.rice.krad.data.jpa.JpaPersistenceProvider.doWithExceptionTranslation(JpaPersistenceProvider.java:555) at org.kuali.rice.krad.data.jpa.JpaPersistenceProvider.save(JpaPersistenceProvider.java:187) at sun.reflect.GeneratedMethodAccessor782.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) at com.sun.proxy.$Proxy45.save(Unknown Source) at org.kuali.rice.krad.data.provider.impl.ProviderBasedDataObjectService.save(ProviderBasedDataObjectService.java:155) {code}

    Kuali JIRA | 2 years ago | Shannon Hess
    org.kuali.rice.kim.bo.ui.RoleDocumentDelegationMember
  2. 0

    The fix for KULRICE-14235 included changing the fix made for KULRICE-12124- Submitting a Person document causes a stacktrace even though the document goes final. Due to that, I did some testing of the person document and found another issue. I verified that this error also occurs before any code changes were made for KULRICE-14235. After you create a person with a delegate, it is not possible to edit the person without getting an optimistic lock exception. {code} ******************Stack Trace-Only shown when not in production***************** org.springframework.orm.jpa.JpaOptimisticLockingFailureException: Exception [EclipseLink-5010] (Eclipse Persistence Services - 2.6.0.v20140809-296a69f): org.eclipse.persistence.exceptions.OptimisticLockException Exception Description: The object [org.kuali.rice.kim.bo.ui.RoleDocumentDelegationMember@1918f45a[serialVersionUID=1,delegationMemberId=10000,roleMemberId=KR1000,roleMemberMemberId=,roleMemberMemberTypeCode=,roleMemberName=guest,roleMemberNamespaceCode=,delegationId=10000,memberId=10000,memberTypeCode=P,memberNamespaceCode=,memberName=sam,delegationTypeCode=P,serialVersionUID=9042706897191231671,active=true,edit=true,serialVersionUID=9042706897191231670,documentNumber=3048,serialVersionUID=1451642350593233282,versionNumber=1,objectId=a0d97ca7-62b8-485a-93e5-942f999741b2,newCollectionRecord=false,serialVersionUID=5563310175227245001,_persistence_shouldRefreshFetchGroup=false]] cannot be merged because it has changed or been deleted since it was last read. Class> org.kuali.rice.kim.bo.ui.RoleDocumentDelegationMember; nested exception is javax.persistence.OptimisticLockException: Exception [EclipseLink-5010] (Eclipse Persistence Services - 2.6.0.v20140809-296a69f): org.eclipse.persistence.exceptions.OptimisticLockException Exception Description: The object [org.kuali.rice.kim.bo.ui.RoleDocumentDelegationMember@1918f45a[serialVersionUID=1,delegationMemberId=10000,roleMemberId=KR1000,roleMemberMemberId=,roleMemberMemberTypeCode=,roleMemberName=guest,roleMemberNamespaceCode=,delegationId=10000,memberId=10000,memberTypeCode=P,memberNamespaceCode=,memberName=sam,delegationTypeCode=P,serialVersionUID=9042706897191231671,active=true,edit=true,serialVersionUID=9042706897191231670,documentNumber=3048,serialVersionUID=1451642350593233282,versionNumber=1,objectId=a0d97ca7-62b8-485a-93e5-942f999741b2,newCollectionRecord=false,serialVersionUID=5563310175227245001,_persistence_shouldRefreshFetchGroup=false]] cannot be merged because it has changed or been deleted since it was last read. Class> org.kuali.rice.kim.bo.ui.RoleDocumentDelegationMember at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:404) at org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:122) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:417) at org.kuali.rice.krad.data.jpa.KradEntityManagerFactoryBean.translateExceptionIfPossible(KradEntityManagerFactoryBean.java:533) at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59) at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213) at org.kuali.rice.krad.data.jpa.JpaPersistenceProvider.doWithExceptionTranslation(JpaPersistenceProvider.java:555) at org.kuali.rice.krad.data.jpa.JpaPersistenceProvider.save(JpaPersistenceProvider.java:187) at sun.reflect.GeneratedMethodAccessor782.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) at com.sun.proxy.$Proxy45.save(Unknown Source) at org.kuali.rice.krad.data.provider.impl.ProviderBasedDataObjectService.save(ProviderBasedDataObjectService.java:155) {code}

    Kuali JIRA | 2 years ago | Shannon Hess
    org.kuali.rice.kim.bo.ui.RoleDocumentDelegationMember

    Root Cause Analysis

    1. org.kuali.rice.kim.bo.ui.RoleDocumentDelegationMember

      No message provided

      at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible()
    2. Spring ORM
      AbstractEntityManagerFactoryBean.translateExceptionIfPossible
      1. org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:404)
      2. org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:122)
      3. org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:417)
      3 frames
    3. org.kuali.rice
      KradEntityManagerFactoryBean.translateExceptionIfPossible
      1. org.kuali.rice.krad.data.jpa.KradEntityManagerFactoryBean.translateExceptionIfPossible(KradEntityManagerFactoryBean.java:533)
      1 frame
    4. Spring Tx
      DataAccessUtils.translateIfNecessary
      1. org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59)
      2. org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213)
      2 frames
    5. org.kuali.rice
      JpaPersistenceProvider.save
      1. org.kuali.rice.krad.data.jpa.JpaPersistenceProvider.doWithExceptionTranslation(JpaPersistenceProvider.java:555)
      2. org.kuali.rice.krad.data.jpa.JpaPersistenceProvider.save(JpaPersistenceProvider.java:187)
      2 frames
    6. Java RT
      Method.invoke
      1. sun.reflect.GeneratedMethodAccessor782.invoke(Unknown Source)
      2. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      3. java.lang.reflect.Method.invoke(Method.java:497)
      3 frames
    7. Spring AOP
      ReflectiveMethodInvocation.proceed
      1. org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
      2. org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
      3. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
      3 frames
    8. Spring Tx
      TransactionInterceptor.invoke
      1. org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
      2. org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
      3. org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
      3 frames
    9. Spring AOP
      JdkDynamicAopProxy.invoke
      1. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      2. org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
      2 frames
    10. com.sun.proxy
      $Proxy45.save
      1. com.sun.proxy.$Proxy45.save(Unknown Source)
      1 frame
    11. org.kuali.rice
      ProviderBasedDataObjectService.save
      1. org.kuali.rice.krad.data.provider.impl.ProviderBasedDataObjectService.save(ProviderBasedDataObjectService.java:155)
      1 frame