VPMS Web Application

Error deleting Medical record entries from visits

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Critical Critical
  • Resolution: Fixed
  • Affects Version/s: 1.3
  • Fix Version/s: 1.3
  • Component/s: Patient
  • Labels:
    None

Description

While editing visit clinical record items if yoy try and delete a entry and save the visit you receive the message "Failed to save Visit. It may have been changed by another user.". The visit is definitely not being used by any other user (tested in single user environment with same result).

The exception generated is:

07 Dec 2008 20:55:02,125 ERROR ErrorHelper,http-8080-Processor16:127 - Failed to save Visit. It may have been changed by another user.
Failed to save act.patientClinicalEvent.1.0:4335123:2cc61fee-c412-11dd-a625-63dd64fb4f76
org.openvpms.component.business.service.archetype.ArchetypeServiceException: Failed to save object Act[id=4335123,archetypeId=act.patientClinicalEvent.1.0,linkId=2cc61fee-c412-11dd-a625-63dd64fb4f76,version=1,name=Visit,title=<null>,activityStartTime=Sun Dec 07 20:54:55 EST 2008,activityEndTime=<null>,reason=<null>,status=IN_PROGRESS,participations=[Participation[id=7747510,archetypeId=participation.location.1.0,linkId=2cc61fef-c412-11dd-a625-63dd64fb4f76,version=2,name=<null>], Participation[id=7747511,archetypeId=participation.patient.1.0,linkId=2cc61fed-c412-11dd-a625-63dd64fb4f76,version=2,name=<null>], Participation[id=7747509,archetypeId=participation.clinician.1.0,linkId=2cc890f0-c412-11dd-a625-63dd64fb4f76,version=2,name=<null>]],sourceActRelationships=[],targetActRelationships=[]]
at org.openvpms.component.business.service.archetype.ArchetypeService.save(ArchetypeService.java:540)
at sun.reflect.GeneratedMethodAccessor322.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:292)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:163)
at $Proxy1.save(Unknown Source)
at sun.reflect.GeneratedMethodAccessor322.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:292)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:155)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
at org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:80)
at org.openvpms.component.business.service.security.OpenVPMSMethodSecurityInterceptor.invoke(OpenVPMSMethodSecurityInterceptor.java:54)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
at $Proxy2.save(Unknown Source)
at org.openvpms.component.business.service.archetype.rule.ArchetypeRuleService$1.run(ArchetypeRuleService.java:308)
at org.openvpms.component.business.service.archetype.rule.ArchetypeRuleService$4.doInTransaction(ArchetypeRuleService.java:507)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:114)
at org.openvpms.component.business.service.archetype.rule.ArchetypeRuleService.execute(ArchetypeRuleService.java:504)
at org.openvpms.component.business.service.archetype.rule.ArchetypeRuleService.save(ArchetypeRuleService.java:306)
at org.openvpms.component.business.service.archetype.rule.ArchetypeRuleService.save(ArchetypeRuleService.java:276)
at org.openvpms.web.component.im.edit.SaveHelper.save(SaveHelper.java:95)
at org.openvpms.web.component.im.edit.SaveHelper.save(SaveHelper.java:82)
at org.openvpms.web.component.im.edit.AbstractIMObjectEditor.saveObject(AbstractIMObjectEditor.java:497)
at org.openvpms.web.component.im.edit.AbstractIMObjectEditor.doSave(AbstractIMObjectEditor.java:485)
at org.openvpms.web.component.im.edit.AbstractIMObjectEditor.save(AbstractIMObjectEditor.java:271)
at org.openvpms.web.component.im.edit.SaveHelper$1.doInTransaction(SaveHelper.java:58)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:114)
at org.openvpms.web.component.im.edit.SaveHelper.save(SaveHelper.java:56)
at org.openvpms.web.component.im.edit.EditDialog.save(EditDialog.java:175)
at org.openvpms.web.component.im.edit.EditDialog.onOK(EditDialog.java:150)
at org.openvpms.web.component.dialog.PopupDialog.onButton(PopupDialog.java:199)
at org.openvpms.web.component.dialog.PopupDialog$2.actionPerformed(PopupDialog.java:305)
at nextapp.echo2.app.button.AbstractButton.fireActionPerformed(AbstractButton.java:135)
at echopointng.ButtonEx$1.actionPerformed(ButtonEx.java:120)
at nextapp.echo2.app.button.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:70)
at echopointng.model.DefaultButtonModelEx.doAction(DefaultButtonModelEx.java:51)
at echopointng.ButtonEx.processInput(ButtonEx.java:202)
at nextapp.echo2.app.update.ClientUpdateManager.process(ClientUpdateManager.java:116)
at nextapp.echo2.app.update.UpdateManager.processClientUpdates(UpdateManager.java:89)
at nextapp.echo2.webcontainer.ContainerSynchronizeService.renderUpdate(ContainerSynchronizeService.java:472)
at nextapp.echo2.webrender.service.SynchronizeService.service(SynchronizeService.java:279)
at nextapp.echo2.webrender.WebRenderServlet.process(WebRenderServlet.java:273)
at org.openvpms.web.servlet.SpringWebContainerServlet.process(SpringWebContainerServlet.java:148)
at nextapp.echo2.webrender.WebRenderServlet.doPost(WebRenderServlet.java:189)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292)
at org.openvpms.web.servlet.SkipLoginFilter.doFilter(SkipLoginFilter.java:111)
at org.openvpms.web.servlet.SkipLoginFilter.doFilter(SkipLoginFilter.java:71)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:108)
at org.acegisecurity.intercept.web.SecurityEnforcementFilter.doFilter(SecurityEnforcementFilter.java:197)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:143)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:246)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:220)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:120)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
Caused by: org.openvpms.component.business.dao.im.common.IMObjectDAOException: Failed to save IMObject 4,335,123
at org.openvpms.component.business.dao.hibernate.im.IMObjectDAOHibernate.save(IMObjectDAOHibernate.java:162)
at org.openvpms.component.business.service.archetype.ArchetypeService.save(ArchetypeService.java:533)
... 80 more
Caused by: org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): org.openvpms.component.business.dao.hibernate.im.act.ActDOImpl#4335123; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): org.openvpms.component.business.dao.hibernate.im.act.ActDOImpl#4335123
at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:645)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:413)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:363)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:331)
at org.openvpms.component.business.dao.hibernate.im.IMObjectDAOHibernate$7$1.doInHibernate(IMObjectDAOHibernate.java:1052)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:358)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:331)
at org.openvpms.component.business.dao.hibernate.im.IMObjectDAOHibernate$7.doInTransaction(IMObjectDAOHibernate.java:1048)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:114)
at org.openvpms.component.business.dao.hibernate.im.IMObjectDAOHibernate.update(IMObjectDAOHibernate.java:1046)
at org.openvpms.component.business.dao.hibernate.im.IMObjectDAOHibernate.save(IMObjectDAOHibernate.java:154)
... 81 more
Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): org.openvpms.component.business.dao.hibernate.im.act.ActDOImpl#4335123
at org.openvpms.component.business.dao.hibernate.im.common.DOState.<init>(DOState.java:103)
at org.openvpms.component.business.dao.hibernate.im.common.IMObjectAssembler.assemble(IMObjectAssembler.java:95)
at org.openvpms.component.business.dao.hibernate.im.common.CompoundAssembler.assemble(CompoundAssembler.java:130)
at org.openvpms.component.business.dao.hibernate.im.IMObjectDAOHibernate.save(IMObjectDAOHibernate.java:848)
at org.openvpms.component.business.dao.hibernate.im.IMObjectDAOHibernate.save(IMObjectDAOHibernate.java:832)
at org.openvpms.component.business.dao.hibernate.im.IMObjectDAOHibernate.access$000(IMObjectDAOHibernate.java:89)
at org.openvpms.component.business.dao.hibernate.im.IMObjectDAOHibernate$1.doInHibernate(IMObjectDAOHibernate.java:157)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:358)
... 89 more

Activity

Hide
Tim Anderson added a comment -

Fixed in vpms, revision 3159

Show
Tim Anderson added a comment - Fixed in vpms, revision 3159

People

Vote (0)
Watch (0)

Dates

  • Due:
    Created:
    Updated:
    Resolved:

Time Tracking

Estimated:
Not Specified
Original Estimate - Not Specified
Remaining:
0h
Remaining Estimate - 0h
Logged:
0.5h
Time Spent - 0.5h