Exception when importing User and User Role metadata in 2.24

Hi,

I am attempting to set up a new empty 2.24 database and populate it with an export of Org units and Users and User Roles from a different 2.24 database. I exported in xml format, with 2 separate export files for:

  1. Org units / Org Unit Groups / Org Unit Group Sets / Org Unit Levels
  2. Users / User Groups / User Roles

I am able to import the org units just fine. However, when I attempt to import the User/User Role xml file I get an exception and the metadata import halts (stacktrace below).

Both instances are running the exact same version of 2.24:

Version:

2.24

Build revision:

294f578

Build date:

2017-03-20 06:21

Note that doing a dry run import shows successfully importing 19 users and 2 UserRoles.

Also note that doing the export and import via json has the same result.

Any help resolving this would be appreciated.

Thanks,

Lorill

  • INFO 2017-03-28 15:20:37,221 [Level: INFO, category: METADATA_IMPORT, time: Tue Mar 28 15:20:37 PDT 2017, message: Importing 19 Users] (InMemoryNotifier.java [taskScheduler-4])

  • INFO 2017-03-28 15:20:37,259 ‘admin’ create org.hisp.dhis.user.User, name: xxx, uid: spw11k0SXjJ (AuditLogUtil.java [taskScheduler-4])

  • INFO 2017-03-28 15:20:37,281 ‘admin’ update org.hisp.dhis.user.User, name: xxx, uid: spw11k0SXjJ (AuditLogUtil.java [taskScheduler-4])

  • INFO 2017-03-28 15:20:37,445 ‘admin’ update org.hisp.dhis.user.User, name: xxx, uid: spw11k0SXjJ (AuditLogUtil.java [taskScheduler-4])

  • ERROR 2017-03-28 15:20:37,460 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-4])

org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.hisp.dhis.user.User

at org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:279)

at org.hibernate.type.EntityType.getIdentifier(EntityType.java:455)

at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:281)

at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:291)

at org.hibernate.type.TypeHelper.findDirty(TypeHelper.java:296)

at org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:4126)

at org.hibernate.event.internal.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:528)

at org.hibernate.event.internal.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:215)

at org.hibernate.event.internal.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:142)

at org.hibernate.event.internal.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:216)

at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:85)

at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:44)

at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1264)

at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1332)

at org.hibernate.internal.QueryImpl.list(QueryImpl.java:87)

at org.hibernate.internal.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:964)

at org.hisp.dhis.user.hibernate.HibernateCurrentUserStore.getUserCredentialsByUsername(HibernateCurrentUserStore.java:55)

at org.hisp.dhis.user.DefaultCurrentUserService.getCurrentUser(DefaultCurrentUserService.java:93)

at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

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:208)

at com.sun.proxy.$Proxy54.getCurrentUser(Unknown Source)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:208)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:202)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:287)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingObject(HibernateGenericStore.java:319)

at org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore.getByUid(HibernateIdentifiableObjectStore.java:108)

at org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore.getByUid(HibernateIdentifiableObjectStore.java:58)

at org.hisp.dhis.common.DefaultIdentifiableObjectManager.get(DefaultIdentifiableObjectManager.java:244)

at sun.reflect.GeneratedMethodAccessor465.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

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.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)

at com.sun.proxy.$Proxy68.get(Unknown Source)

at org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.getUidMatch(DefaultObjectBridge.java:723)

at org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.findMatches(DefaultObjectBridge.java:527)

at org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.getObjects(DefaultObjectBridge.java:422)

at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.validateIdentifiableObject(DefaultIdentifiableObjectImporter.java:690)

at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjectLocal(DefaultIdentifiableObjectImporter.java:566)

at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjects(DefaultIdentifiableObjectImporter.java:191)

at org.hisp.dhis.dxf2.metadata.DefaultImportService.doImport(DefaultImportService.java:261)

at org.hisp.dhis.dxf2.metadata.DefaultImportService.importMetaData(DefaultImportService.java:177)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

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:208)

at com.sun.proxy.$Proxy241.importMetaData(Unknown Source)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)

at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)

at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)

at com.sun.proxy.$Proxy193.importMetaData(Unknown Source)

at org.hisp.dhis.importexport.action.util.ImportMetaDataTask.call(ImportMetaDataTask.java:103)

at org.hisp.dhis.security.SecurityContextRunnable.run(SecurityContextRunnable.java:57)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)
···

Lorill Crees
Project Leader / Senior Developer
2Paths Solutions Ltd.

lcrees@2paths.com
skype: lorill2paths

(604) 689-4123 x 15

I assume you are not importing the user with which you are logged in, right? This might be the reason… If not I don’t have any clear idea.

Marc Garnica

···

2017-03-29 0:56 GMT+02:00 Lorill Crees lcrees@2paths.com:

Hi,

I am attempting to set up a new empty 2.24 database and populate it with an export of Org units and Users and User Roles from a different 2.24 database. I exported in xml format, with 2 separate export files for:

  1. Org units / Org Unit Groups / Org Unit Group Sets / Org Unit Levels
  2. Users / User Groups / User Roles

I am able to import the org units just fine. However, when I attempt to import the User/User Role xml file I get an exception and the metadata import halts (stacktrace below).

Both instances are running the exact same version of 2.24:

Version:

2.24

Build revision:

294f578

Build date:

2017-03-20 06:21

Note that doing a dry run import shows successfully importing 19 users and 2 UserRoles.

Also note that doing the export and import via json has the same result.

Any help resolving this would be appreciated.

Thanks,

Lorill

  • INFO 2017-03-28 15:20:37,221 [Level: INFO, category: METADATA_IMPORT, time: Tue Mar 28 15:20:37 PDT 2017, message: Importing 19 Users] (InMemoryNotifier.java [taskScheduler-4])
  • INFO 2017-03-28 15:20:37,259 ‘admin’ create org.hisp.dhis.user.User, name: xxx, uid: spw11k0SXjJ (AuditLogUtil.java [taskScheduler-4])
  • INFO 2017-03-28 15:20:37,281 ‘admin’ update org.hisp.dhis.user.User, name: xxx, uid: spw11k0SXjJ (AuditLogUtil.java [taskScheduler-4])
  • INFO 2017-03-28 15:20:37,445 ‘admin’ update org.hisp.dhis.user.User, name: xxx, uid: spw11k0SXjJ (AuditLogUtil.java [taskScheduler-4])
  • ERROR 2017-03-28 15:20:37,460 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-4])

org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.hisp.dhis.user.User

at org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:279)

at org.hibernate.type.EntityType.getIdentifier(EntityType.java:455)

at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:281)

at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:291)

at org.hibernate.type.TypeHelper.findDirty(TypeHelper.java:296)

at org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:4126)

at org.hibernate.event.internal.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:528)

at org.hibernate.event.internal.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:215)

at org.hibernate.event.internal.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:142)

at org.hibernate.event.internal.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:216)

at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:85)

at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:44)

at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1264)

at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1332)

at org.hibernate.internal.QueryImpl.list(QueryImpl.java:87)

at org.hibernate.internal.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:964)

at org.hisp.dhis.user.hibernate.HibernateCurrentUserStore.getUserCredentialsByUsername(HibernateCurrentUserStore.java:55)

at org.hisp.dhis.user.DefaultCurrentUserService.getCurrentUser(DefaultCurrentUserService.java:93)

at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

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:208)

at com.sun.proxy.$Proxy54.getCurrentUser(Unknown Source)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:208)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:202)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:287)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingObject(HibernateGenericStore.java:319)

at org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore.getByUid(HibernateIdentifiableObjectStore.java:108)

at org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore.getByUid(HibernateIdentifiableObjectStore.java:58)

at org.hisp.dhis.common.DefaultIdentifiableObjectManager.get(DefaultIdentifiableObjectManager.java:244)

at sun.reflect.GeneratedMethodAccessor465.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

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.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)

at com.sun.proxy.$Proxy68.get(Unknown Source)

at org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.getUidMatch(DefaultObjectBridge.java:723)

at org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.findMatches(DefaultObjectBridge.java:527)

at org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.getObjects(DefaultObjectBridge.java:422)

at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.validateIdentifiableObject(DefaultIdentifiableObjectImporter.java:690)

at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjectLocal(DefaultIdentifiableObjectImporter.java:566)

at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjects(DefaultIdentifiableObjectImporter.java:191)

at org.hisp.dhis.dxf2.metadata.DefaultImportService.doImport(DefaultImportService.java:261)

at org.hisp.dhis.dxf2.metadata.DefaultImportService.importMetaData(DefaultImportService.java:177)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

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:208)

at com.sun.proxy.$Proxy241.importMetaData(Unknown Source)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)

at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)

at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)

at com.sun.proxy.$Proxy193.importMetaData(Unknown Source)

at org.hisp.dhis.importexport.action.util.ImportMetaDataTask.call(ImportMetaDataTask.java:103)

at org.hisp.dhis.security.SecurityContextRunnable.run(SecurityContextRunnable.java:57)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

Lorill Crees
Project Leader / Senior Developer
2Paths Solutions Ltd.

lcrees@2paths.com
skype: lorill2paths

(604) 689-4123 x 15


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Hi,

I have tracked this down. In the User xml object, within the embedded UserCredentials object, there is an embedded User object. It appears this “user” object is meant to be the user that created the UserCredentials.

In some of the entries, it is the user itself that is contained in the embedded instance. In other entries, it contains a user that is elsewhere in the xml file to be imported.

In order to allow the import to run without exceptions, I need to either delete this embedded user object, or change it to a user that already exists in the system prior to the import.

I basically have to delete all the embedded User objects, import the file, then revert the deletion, and import the file again as an update.

Below is an example of what is being exported.

Is this expected behaviour? Is there any way that these cases can be handled by the app, and not throw an exception? I am doing a straight export from one instance to another, both of which are running the same DHIS 2 version and build.

Thanks,

Lorill

<?xml version='1.0' encoding='UTF-8'?>

<user name=“xxx” created=“2015-06-07T11:59:59.183+0000” lastUpdated=“2015-06-07T11:59:59.183+0000”

id=“UomqXpvKh8M”>

false

xxx

xxx

xxx@gmail.com

<userCredentials code=“xxx” name=“xxx” created=“2015-06-07T11:59:59.033+0000”

lastUpdated=“2016-04-04T21:06:22.000+0000” id=“B8sCr5nOWro”>

false

<user name=“xxx” created=“2015-06-07T11:59:59.183+0000”

lastUpdated=“2015-06-07T11:59:59.183+0000” id=“UomqXpvKh8M”>

false

xxx

false

$2a$10$.nZpxupXABUpy3RNpAl.8uSg2OSsnZgxtSHKDTwjhTTPprSZ5W3vK

2015-06-07T11:59:59.034+0000

2015-12-22T13:35:41.507+0000

false

false

false

<userRole name=“Superuser” created=“2015-05-04T13:43:25.507+0000”

lastUpdated=“2017-03-08T22:03:03.771+0000” id=“cjBTUmG9C9K”>

false

--------

<user name=“yyy” created=“2015-05-29T06:54:42.002+0000”

lastUpdated=“2015-06-02T20:16:52.617+0000” id=“BcLOMAHqNDV”>

false

<organisationUnit code=“malawi” name=“Malawi” created=“2013-06-10T18:34:22.000+0000”

lastUpdated=“2016-02-18T21:28:15.763+0000” id=“lZsCb6y0KDX”>

false

<dataViewOrganisationUnit code=“malawi” name=“Malawi” created=“2013-06-10T18:34:22.000+0000”

lastUpdated=“2016-02-18T21:28:15.763+0000” id=“lZsCb6y0KDX”>

false

···

On Wed, Mar 29, 2017 at 1:42 AM, Marc Garnica marcgarnica13@gmail.com wrote:

I assume you are not importing the user with which you are logged in, right? This might be the reason… If not I don’t have any clear idea.

Marc Garnica

2017-03-29 0:56 GMT+02:00 Lorill Crees lcrees@2paths.com:

Hi,

I am attempting to set up a new empty 2.24 database and populate it with an export of Org units and Users and User Roles from a different 2.24 database. I exported in xml format, with 2 separate export files for:

  1. Org units / Org Unit Groups / Org Unit Group Sets / Org Unit Levels
  2. Users / User Groups / User Roles

I am able to import the org units just fine. However, when I attempt to import the User/User Role xml file I get an exception and the metadata import halts (stacktrace below).

Both instances are running the exact same version of 2.24:

Version:

2.24

Build revision:

294f578

Build date:

2017-03-20 06:21

Note that doing a dry run import shows successfully importing 19 users and 2 UserRoles.

Also note that doing the export and import via json has the same result.

Any help resolving this would be appreciated.

Thanks,

Lorill

  • INFO 2017-03-28 15:20:37,221 [Level: INFO, category: METADATA_IMPORT, time: Tue Mar 28 15:20:37 PDT 2017, message: Importing 19 Users] (InMemoryNotifier.java [taskScheduler-4])
  • INFO 2017-03-28 15:20:37,259 ‘admin’ create org.hisp.dhis.user.User, name: xxx, uid: spw11k0SXjJ (AuditLogUtil.java [taskScheduler-4])
  • INFO 2017-03-28 15:20:37,281 ‘admin’ update org.hisp.dhis.user.User, name: xxx, uid: spw11k0SXjJ (AuditLogUtil.java [taskScheduler-4])
  • INFO 2017-03-28 15:20:37,445 ‘admin’ update org.hisp.dhis.user.User, name: xxx, uid: spw11k0SXjJ (AuditLogUtil.java [taskScheduler-4])
  • ERROR 2017-03-28 15:20:37,460 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-4])

org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.hisp.dhis.user.User

at org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:279)

at org.hibernate.type.EntityType.getIdentifier(EntityType.java:455)

at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:281)

at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:291)

at org.hibernate.type.TypeHelper.findDirty(TypeHelper.java:296)

at org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:4126)

at org.hibernate.event.internal.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:528)

at org.hibernate.event.internal.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:215)

at org.hibernate.event.internal.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:142)

at org.hibernate.event.internal.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:216)

at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:85)

at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:44)

at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1264)

at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1332)

at org.hibernate.internal.QueryImpl.list(QueryImpl.java:87)

at org.hibernate.internal.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:964)

at org.hisp.dhis.user.hibernate.HibernateCurrentUserStore.getUserCredentialsByUsername(HibernateCurrentUserStore.java:55)

at org.hisp.dhis.user.DefaultCurrentUserService.getCurrentUser(DefaultCurrentUserService.java:93)

at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

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:208)

at com.sun.proxy.$Proxy54.getCurrentUser(Unknown Source)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:208)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:202)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:287)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingObject(HibernateGenericStore.java:319)

at org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore.getByUid(HibernateIdentifiableObjectStore.java:108)

at org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore.getByUid(HibernateIdentifiableObjectStore.java:58)

at org.hisp.dhis.common.DefaultIdentifiableObjectManager.get(DefaultIdentifiableObjectManager.java:244)

at sun.reflect.GeneratedMethodAccessor465.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

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.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)

at com.sun.proxy.$Proxy68.get(Unknown Source)

at org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.getUidMatch(DefaultObjectBridge.java:723)

at org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.findMatches(DefaultObjectBridge.java:527)

at org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.getObjects(DefaultObjectBridge.java:422)

at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.validateIdentifiableObject(DefaultIdentifiableObjectImporter.java:690)

at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjectLocal(DefaultIdentifiableObjectImporter.java:566)

at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjects(DefaultIdentifiableObjectImporter.java:191)

at org.hisp.dhis.dxf2.metadata.DefaultImportService.doImport(DefaultImportService.java:261)

at org.hisp.dhis.dxf2.metadata.DefaultImportService.importMetaData(DefaultImportService.java:177)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

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:208)

at com.sun.proxy.$Proxy241.importMetaData(Unknown Source)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)

at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)

at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)

at com.sun.proxy.$Proxy193.importMetaData(Unknown Source)

at org.hisp.dhis.importexport.action.util.ImportMetaDataTask.call(ImportMetaDataTask.java:103)

at org.hisp.dhis.security.SecurityContextRunnable.run(SecurityContextRunnable.java:57)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

Lorill Crees
Project Leader / Senior Developer
2Paths Solutions Ltd.

lcrees@2paths.com
skype: lorill2paths

(604) 689-4123 x 15


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Lorill Crees
Project Leader / Senior Developer
2Paths Solutions Ltd.

lcrees@2paths.com
skype: lorill2paths

(604) 689-4123 x 15

Hi there,

In addition to the below import issues, now it seems that the passwords have not been imported correctly so nobody can log in. The password hashes in the old database are the same hashes that are contained in the password xml field in the exported file. However, when the file is imported into the system, the password hashes are not copied but are completely different in the user objects created.

Is it the import process maybe taking a hash of the hash? Is this expected behaviour?

In order to fix this I had to do a sql dump of the old user table, copy it to the new database, then do a join to update the passwords of the users in the new database.

Do you have any advice here of what I should be doing to export users from one instance to populate a new empty instance, without having to do all these workarounds?

Thanks,

Lorill

···

On Thu, Mar 30, 2017 at 2:20 PM, Lorill Crees lcrees@2paths.com wrote:

Hi,

I have tracked this down. In the User xml object, within the embedded UserCredentials object, there is an embedded User object. It appears this “user” object is meant to be the user that created the UserCredentials.

In some of the entries, it is the user itself that is contained in the embedded instance. In other entries, it contains a user that is elsewhere in the xml file to be imported.

In order to allow the import to run without exceptions, I need to either delete this embedded user object, or change it to a user that already exists in the system prior to the import.

I basically have to delete all the embedded User objects, import the file, then revert the deletion, and import the file again as an update.

Below is an example of what is being exported.

Is this expected behaviour? Is there any way that these cases can be handled by the app, and not throw an exception? I am doing a straight export from one instance to another, both of which are running the same DHIS 2 version and build.

Thanks,

Lorill

<?xml version='1.0' encoding='UTF-8'?>

<user name=“xxx” created=“2015-06-07T11:59:59.183+0000” lastUpdated=“2015-06-07T11:59:59.183+0000”

id=“UomqXpvKh8M”>

false

xxx

xxx

xxx@gmail.com

<userCredentials code=“xxx” name=“xxx” created=“2015-06-07T11:59:59.033+0000”

lastUpdated=“2016-04-04T21:06:22.000+0000” id=“B8sCr5nOWro”>

false

<user name=“xxx” created=“2015-06-07T11:59:59.183+0000”

lastUpdated=“2015-06-07T11:59:59.183+0000” id=“UomqXpvKh8M”>

false

xxx

false

$2a$10$.nZpxupXABUpy3RNpAl.8uSg2OSsnZgxtSHKDTwjhTTPprSZ5W3vK

2015-06-07T11:59:59.034+0000

2015-12-22T13:35:41.507+0000

false

false

false

<userRole name=“Superuser” created=“2015-05-04T13:43:25.507+0000”

lastUpdated=“2017-03-08T22:03:03.771+0000” id=“cjBTUmG9C9K”>

false

--------

<user name=“yyy” created=“2015-05-29T06:54:42.002+0000”

lastUpdated=“2015-06-02T20:16:52.617+0000” id=“BcLOMAHqNDV”>

false

<organisationUnit code=“malawi” name=“Malawi” created=“2013-06-10T18:34:22.000+0000”

lastUpdated=“2016-02-18T21:28:15.763+0000” id=“lZsCb6y0KDX”>

false

<dataViewOrganisationUnit code=“malawi” name=“Malawi” created=“2013-06-10T18:34:22.000+0000”

lastUpdated=“2016-02-18T21:28:15.763+0000” id=“lZsCb6y0KDX”>

false

On Wed, Mar 29, 2017 at 1:42 AM, Marc Garnica marcgarnica13@gmail.com wrote:

I assume you are not importing the user with which you are logged in, right? This might be the reason… If not I don’t have any clear idea.

Marc Garnica


Lorill Crees
Project Leader / Senior Developer
2Paths Solutions Ltd.

lcrees@2paths.com
skype: lorill2paths

(604) 689-4123 x 15

2017-03-29 0:56 GMT+02:00 Lorill Crees lcrees@2paths.com:

Hi,

I am attempting to set up a new empty 2.24 database and populate it with an export of Org units and Users and User Roles from a different 2.24 database. I exported in xml format, with 2 separate export files for:

  1. Org units / Org Unit Groups / Org Unit Group Sets / Org Unit Levels
  2. Users / User Groups / User Roles

I am able to import the org units just fine. However, when I attempt to import the User/User Role xml file I get an exception and the metadata import halts (stacktrace below).

Both instances are running the exact same version of 2.24:

Version:

2.24

Build revision:

294f578

Build date:

2017-03-20 06:21

Note that doing a dry run import shows successfully importing 19 users and 2 UserRoles.

Also note that doing the export and import via json has the same result.

Any help resolving this would be appreciated.

Thanks,

Lorill

  • INFO 2017-03-28 15:20:37,221 [Level: INFO, category: METADATA_IMPORT, time: Tue Mar 28 15:20:37 PDT 2017, message: Importing 19 Users] (InMemoryNotifier.java [taskScheduler-4])
  • INFO 2017-03-28 15:20:37,259 ‘admin’ create org.hisp.dhis.user.User, name: xxx, uid: spw11k0SXjJ (AuditLogUtil.java [taskScheduler-4])
  • INFO 2017-03-28 15:20:37,281 ‘admin’ update org.hisp.dhis.user.User, name: xxx, uid: spw11k0SXjJ (AuditLogUtil.java [taskScheduler-4])
  • INFO 2017-03-28 15:20:37,445 ‘admin’ update org.hisp.dhis.user.User, name: xxx, uid: spw11k0SXjJ (AuditLogUtil.java [taskScheduler-4])
  • ERROR 2017-03-28 15:20:37,460 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-4])

org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.hisp.dhis.user.User

at org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:279)

at org.hibernate.type.EntityType.getIdentifier(EntityType.java:455)

at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:281)

at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:291)

at org.hibernate.type.TypeHelper.findDirty(TypeHelper.java:296)

at org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:4126)

at org.hibernate.event.internal.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:528)

at org.hibernate.event.internal.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:215)

at org.hibernate.event.internal.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:142)

at org.hibernate.event.internal.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:216)

at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:85)

at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:44)

at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1264)

at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1332)

at org.hibernate.internal.QueryImpl.list(QueryImpl.java:87)

at org.hibernate.internal.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:964)

at org.hisp.dhis.user.hibernate.HibernateCurrentUserStore.getUserCredentialsByUsername(HibernateCurrentUserStore.java:55)

at org.hisp.dhis.user.DefaultCurrentUserService.getCurrentUser(DefaultCurrentUserService.java:93)

at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

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:208)

at com.sun.proxy.$Proxy54.getCurrentUser(Unknown Source)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:208)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:202)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:287)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingObject(HibernateGenericStore.java:319)

at org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore.getByUid(HibernateIdentifiableObjectStore.java:108)

at org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore.getByUid(HibernateIdentifiableObjectStore.java:58)

at org.hisp.dhis.common.DefaultIdentifiableObjectManager.get(DefaultIdentifiableObjectManager.java:244)

at sun.reflect.GeneratedMethodAccessor465.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

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.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)

at com.sun.proxy.$Proxy68.get(Unknown Source)

at org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.getUidMatch(DefaultObjectBridge.java:723)

at org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.findMatches(DefaultObjectBridge.java:527)

at org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.getObjects(DefaultObjectBridge.java:422)

at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.validateIdentifiableObject(DefaultIdentifiableObjectImporter.java:690)

at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjectLocal(DefaultIdentifiableObjectImporter.java:566)

at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjects(DefaultIdentifiableObjectImporter.java:191)

at org.hisp.dhis.dxf2.metadata.DefaultImportService.doImport(DefaultImportService.java:261)

at org.hisp.dhis.dxf2.metadata.DefaultImportService.importMetaData(DefaultImportService.java:177)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

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:208)

at com.sun.proxy.$Proxy241.importMetaData(Unknown Source)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)

at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)

at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)

at com.sun.proxy.$Proxy193.importMetaData(Unknown Source)

at org.hisp.dhis.importexport.action.util.ImportMetaDataTask.call(ImportMetaDataTask.java:103)

at org.hisp.dhis.security.SecurityContextRunnable.run(SecurityContextRunnable.java:57)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

Lorill Crees
Project Leader / Senior Developer
2Paths Solutions Ltd.

lcrees@2paths.com
skype: lorill2paths

(604) 689-4123 x 15


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Lorill Crees
Project Leader / Senior Developer
2Paths Solutions Ltd.

lcrees@2paths.com
skype: lorill2paths

(604) 689-4123 x 15

Hi Lorill

Sorry for getting back to you on this so late, but I think this is fixed in 2.25+ now, could you have a look?

···

On Fri, Mar 31, 2017 at 11:31 PM, Lorill Crees lcrees@2paths.com wrote:

Hi there,

In addition to the below import issues, now it seems that the passwords have not been imported correctly so nobody can log in. The password hashes in the old database are the same hashes that are contained in the password xml field in the exported file. However, when the file is imported into the system, the password hashes are not copied but are completely different in the user objects created.

Is it the import process maybe taking a hash of the hash? Is this expected behaviour?

In order to fix this I had to do a sql dump of the old user table, copy it to the new database, then do a join to update the passwords of the users in the new database.

Do you have any advice here of what I should be doing to export users from one instance to populate a new empty instance, without having to do all these workarounds?

Thanks,

Lorill


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Morten Olav Hansen

Senior Engineer, DHIS 2

University of Oslo

http://www.dhis2.org

On Thu, Mar 30, 2017 at 2:20 PM, Lorill Crees lcrees@2paths.com wrote:

Hi,

I have tracked this down. In the User xml object, within the embedded UserCredentials object, there is an embedded User object. It appears this “user” object is meant to be the user that created the UserCredentials.

In some of the entries, it is the user itself that is contained in the embedded instance. In other entries, it contains a user that is elsewhere in the xml file to be imported.

In order to allow the import to run without exceptions, I need to either delete this embedded user object, or change it to a user that already exists in the system prior to the import.

I basically have to delete all the embedded User objects, import the file, then revert the deletion, and import the file again as an update.

Below is an example of what is being exported.

Is this expected behaviour? Is there any way that these cases can be handled by the app, and not throw an exception? I am doing a straight export from one instance to another, both of which are running the same DHIS 2 version and build.

Thanks,

Lorill

<?xml version='1.0' encoding='UTF-8'?>

<user name=“xxx” created=“2015-06-07T11:59:59.183+0000” lastUpdated=“2015-06-07T11:59:59.183+0000”

id=“UomqXpvKh8M”>

false

xxx

xxx

xxx@gmail.com

<userCredentials code=“xxx” name=“xxx” created=“2015-06-07T11:59:59.033+0000”

lastUpdated=“2016-04-04T21:06:22.000+0000” id=“B8sCr5nOWro”>

false

<user name=“xxx” created=“2015-06-07T11:59:59.183+0000”

lastUpdated=“2015-06-07T11:59:59.183+0000” id=“UomqXpvKh8M”>

false

xxx

false

$2a$10$.nZpxupXABUpy3RNpAl.8uSg2OSsnZgxtSHKDTwjhTTPprSZ5W3vK

2015-06-07T11:59:59.034+0000

2015-12-22T13:35:41.507+0000

false

false

false

<userRole name=“Superuser” created=“2015-05-04T13:43:25.507+0000”

lastUpdated=“2017-03-08T22:03:03.771+0000” id=“cjBTUmG9C9K”>

false

--------

<user name=“yyy” created=“2015-05-29T06:54:42.002+0000”

lastUpdated=“2015-06-02T20:16:52.617+0000” id=“BcLOMAHqNDV”>

false

<organisationUnit code=“malawi” name=“Malawi” created=“2013-06-10T18:34:22.000+0000”

lastUpdated=“2016-02-18T21:28:15.763+0000” id=“lZsCb6y0KDX”>

false

<dataViewOrganisationUnit code=“malawi” name=“Malawi” created=“2013-06-10T18:34:22.000+0000”

lastUpdated=“2016-02-18T21:28:15.763+0000” id=“lZsCb6y0KDX”>

false


Lorill Crees
Project Leader / Senior Developer
2Paths Solutions Ltd.

lcrees@2paths.com
skype: lorill2paths

(604) 689-4123 x 15

On Wed, Mar 29, 2017 at 1:42 AM, Marc Garnica marcgarnica13@gmail.com wrote:

I assume you are not importing the user with which you are logged in, right? This might be the reason… If not I don’t have any clear idea.

Marc Garnica


Lorill Crees
Project Leader / Senior Developer
2Paths Solutions Ltd.

lcrees@2paths.com
skype: lorill2paths

(604) 689-4123 x 15

2017-03-29 0:56 GMT+02:00 Lorill Crees lcrees@2paths.com:

Hi,

I am attempting to set up a new empty 2.24 database and populate it with an export of Org units and Users and User Roles from a different 2.24 database. I exported in xml format, with 2 separate export files for:

  1. Org units / Org Unit Groups / Org Unit Group Sets / Org Unit Levels
  2. Users / User Groups / User Roles

I am able to import the org units just fine. However, when I attempt to import the User/User Role xml file I get an exception and the metadata import halts (stacktrace below).

Both instances are running the exact same version of 2.24:

Version:

2.24

Build revision:

294f578

Build date:

2017-03-20 06:21

Note that doing a dry run import shows successfully importing 19 users and 2 UserRoles.

Also note that doing the export and import via json has the same result.

Any help resolving this would be appreciated.

Thanks,

Lorill

  • INFO 2017-03-28 15:20:37,221 [Level: INFO, category: METADATA_IMPORT, time: Tue Mar 28 15:20:37 PDT 2017, message: Importing 19 Users] (InMemoryNotifier.java [taskScheduler-4])
  • INFO 2017-03-28 15:20:37,259 ‘admin’ create org.hisp.dhis.user.User, name: xxx, uid: spw11k0SXjJ (AuditLogUtil.java [taskScheduler-4])
  • INFO 2017-03-28 15:20:37,281 ‘admin’ update org.hisp.dhis.user.User, name: xxx, uid: spw11k0SXjJ (AuditLogUtil.java [taskScheduler-4])
  • INFO 2017-03-28 15:20:37,445 ‘admin’ update org.hisp.dhis.user.User, name: xxx, uid: spw11k0SXjJ (AuditLogUtil.java [taskScheduler-4])
  • ERROR 2017-03-28 15:20:37,460 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-4])

org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.hisp.dhis.user.User

at org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:279)

at org.hibernate.type.EntityType.getIdentifier(EntityType.java:455)

at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:281)

at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:291)

at org.hibernate.type.TypeHelper.findDirty(TypeHelper.java:296)

at org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:4126)

at org.hibernate.event.internal.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:528)

at org.hibernate.event.internal.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:215)

at org.hibernate.event.internal.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:142)

at org.hibernate.event.internal.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:216)

at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:85)

at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:44)

at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1264)

at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1332)

at org.hibernate.internal.QueryImpl.list(QueryImpl.java:87)

at org.hibernate.internal.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:964)

at org.hisp.dhis.user.hibernate.HibernateCurrentUserStore.getUserCredentialsByUsername(HibernateCurrentUserStore.java:55)

at org.hisp.dhis.user.DefaultCurrentUserService.getCurrentUser(DefaultCurrentUserService.java:93)

at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

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:208)

at com.sun.proxy.$Proxy54.getCurrentUser(Unknown Source)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:208)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:202)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:287)

at org.hisp.dhis.hibernate.HibernateGenericStore.getSharingObject(HibernateGenericStore.java:319)

at org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore.getByUid(HibernateIdentifiableObjectStore.java:108)

at org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore.getByUid(HibernateIdentifiableObjectStore.java:58)

at org.hisp.dhis.common.DefaultIdentifiableObjectManager.get(DefaultIdentifiableObjectManager.java:244)

at sun.reflect.GeneratedMethodAccessor465.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

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.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)

at com.sun.proxy.$Proxy68.get(Unknown Source)

at org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.getUidMatch(DefaultObjectBridge.java:723)

at org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.findMatches(DefaultObjectBridge.java:527)

at org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.getObjects(DefaultObjectBridge.java:422)

at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.validateIdentifiableObject(DefaultIdentifiableObjectImporter.java:690)

at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjectLocal(DefaultIdentifiableObjectImporter.java:566)

at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjects(DefaultIdentifiableObjectImporter.java:191)

at org.hisp.dhis.dxf2.metadata.DefaultImportService.doImport(DefaultImportService.java:261)

at org.hisp.dhis.dxf2.metadata.DefaultImportService.importMetaData(DefaultImportService.java:177)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

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:208)

at com.sun.proxy.$Proxy241.importMetaData(Unknown Source)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)

at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)

at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)

at com.sun.proxy.$Proxy193.importMetaData(Unknown Source)

at org.hisp.dhis.importexport.action.util.ImportMetaDataTask.call(ImportMetaDataTask.java:103)

at org.hisp.dhis.security.SecurityContextRunnable.run(SecurityContextRunnable.java:57)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

Lorill Crees
Project Leader / Senior Developer
2Paths Solutions Ltd.

lcrees@2paths.com
skype: lorill2paths

(604) 689-4123 x 15


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp