← Back to team overview

dhis2-devs team mailing list archive

[Bug 348703] Re: dhis14-import-cde-robustness

 

Hi. I am not sure if this is related or not, but I am filing it along
with this bug, as it seems quite similar.

* INFO  08:43:16,838 Reading file: ZM_ZAMBIA Kapiri-Mposhi District Oct 2009 to Dec 2009.xml (DefaultDhis14XMLImportService.java [Thread-86])
* INFO  08:43:16,838 Importing meta data (DefaultDhis14XMLImportService.java [Thread-86])
* INFO  08:43:20,591 Import process done (DefaultDhis14XMLImportService.java [Thread-86])
* INFO  08:43:20,592 Import process completed (ImportInternalProcess.java [Thread-86])
* INFO  08:45:08,384 Preview process started (ImportPreviewInternalProcess.java [Thread-87])
* INFO  08:45:08,405 Imported DataElementCategoryOptions (DefaultImportObjectManager.java [Thread-87])
* INFO  08:45:08,414 Imported DataElementCategories (DefaultImportObjectManager.java [Thread-87])
* INFO  08:45:08,420 Imported DataElementCategoryCombos (DefaultImportObjectManager.java [Thread-87])
* INFO  08:45:08,438 Imported DataElementCategoryOptionCombos (DefaultImportObjectManager.java [Thread-87])
* INFO  08:45:08,452 Imported CategoryCategoryOption associations (DefaultImportObjectManager.java [Thread-87])
* INFO  08:45:08,465 Imported CategoryComboCategory associations (DefaultImportObjectManager.java [Thread-87])
* INFO  08:45:09,093 Imported DataElements (DefaultImportObjectManager.java [Thread-87])
* INFO  08:45:09,483 Imported CalculatedDataElements (DefaultImportObjectManager.java [Thread-87])
* ERROR 08:45:09,623 Could not synchronize database state with session (AbstractFlushingEventListener.java [Thread-87])
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.hisp.dhis.dataelement.CalculatedDataElement#951]
        at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1769)
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2412)
        at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2312)
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2612)
        at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:96)
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
        at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
        at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
        at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
        at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
        at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
        at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:655)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:732)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:701)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:321)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy44.importCalculatedDataElements(Unknown Source)
        at org.hisp.dhis.importexport.service.DefaultImportObjectService.importAll(DefaultImportObjectService.java:641)
        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.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
        at $Proxy45.importAll(Unknown Source)
        at org.hisp.dhis.importexport.ImportPreviewInternalProcess.executeStatements(ImportPreviewInternalProcess.java:75)
        at org.hisp.dhis.system.process.AbstractStatementInternalProcess.execute(AbstractStatementInternalProcess.java:79)
        at org.hisp.dhis.system.process.AbstractStatementInternalProcess.execute(AbstractStatementInternalProcess.java:37)
        at org.amplecode.cave.process.ProcessExecutor.run(ProcessExecutor.java:125)
        at java.lang.Thread.run(Thread.java:619)
* ERROR 08:45:09,626 The process threw exception (ProcessExecutor.java [Thread-87])
org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Object of class [org.hisp.dhis.dataelement.CalculatedDataElement] with identifier [951]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.hisp.dhis.dataelement.CalculatedDataElement#951]
        at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:669)
        at org.springframework.orm.hibernate3.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:789)
        at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:663)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:732)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:701)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:321)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy44.importCalculatedDataElements(Unknown Source)
        at org.hisp.dhis.importexport.service.DefaultImportObjectService.importAll(DefaultImportObjectService.java:641)
        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.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
        at $Proxy45.importAll(Unknown Source)
        at org.hisp.dhis.importexport.ImportPreviewInternalProcess.executeStatements(ImportPreviewInternalProcess.java:75)
        at org.hisp.dhis.system.process.AbstractStatementInternalProcess.execute(AbstractStatementInternalProcess.java:79)
        at org.hisp.dhis.system.process.AbstractStatementInternalProcess.execute(AbstractStatementInternalProcess.java:37)
        at org.amplecode.cave.process.ProcessExecutor.run(ProcessExecutor.java:125)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.hisp.dhis.dataelement.CalculatedDataElement#951]
        at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1769)
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2412)
        at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2312)
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2612)
        at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:96)
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
        at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
        at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
        at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
        at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
        at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
        at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:655)
        ... 20 more

-- 
dhis14-import-cde-robustness
https://bugs.launchpad.net/bugs/348703
You received this bug notification because you are a member of DHIS 2
developers, which is subscribed to DHIS.

Status in DHIS 2 - District Health Information Software: Fix Committed

Bug description:
The DHIS 1.4 file import should be robust against non-existing identfiers in calculated data element identifiers, which occur quite often.





References