Push Analytics Sending Failure


(Barnabas Akumba) #1

I have set up a Push Analysis to send the content of a dashboard to some users in a group.

I however discovered that when the dashboard is empty, it is able to send out an email to the users. But when items (favorites) are added to the dashboard, it fails to send out the Push Analysis. It however renders the report but fails to send out.
The instance details are: Version 2.29 Revision: 91e3867 Build date: 2019-03-08 02:20
A look at the Logs shows the following Error:

ERROR 2019-03-12 14:51:14,842 Could not create or send report for PushAnalysis ‘Weekly Report’ and User ‘Barns_Test’: Dimensions cannot be specified more than once: [BaseDimensionalObject{Dimension=dx, type=DATA_X, display name=Data, items=[DimensionalItemObject{uid=lTgH92dRNjH, name=PSP: Number of suspected cases}, DimensionalItemObject{uid=SJFoURZ61xV, name=PSP Suspected Cases Tested}, DimensionalItemObject{uid=SVgIRDU0F7e, name=PSP: positive tested cases}]}, BaseDimensionalObject{Dimension=dx, type=DATA_X, display name=Data, items=[DimensionalItemObject{uid=lTgH92dRNjH, name=PSP: Number of suspected cases}, DimensionalItemObject{uid=SJFoURZ61xV, name=PSP Suspected Cases Tested}, DimensionalItemObject{uid=SVgIRDU0F7e, name=PSP: positive tested cases}]}, BaseDimensionalObject{Dimension=pe, type=PERIOD, display name=Period, items=[DimensionalItemObject{uid=2019W10, name=W10 2019}]}, BaseDimensionalObject{Dimension=pe, type=PERIOD, display name=Period, items=[DimensionalItemObject{uid=2019W10, name=W10 2019}]}] (DefaultPushAnalysisService.java [taskScheduler-2])

org.hisp.dhis.common.IllegalQueryException: Dimensions cannot be specified more than once: [BaseDimensionalObject{Dimension=dx, type=DATA_X, display name=Data, items=[DimensionalItemObject{uid=lTgH92dRNjH, name=PSP: Number of suspected cases}, DimensionalItemObject{uid=SJFoURZ61xV, name=PSP Suspected Cases Tested}, DimensionalItemObject{uid=SVgIRDU0F7e, name=PSP: positive tested cases}]}, BaseDimensionalObject{Dimension=dx, type=DATA_X, display name=Data, items=[DimensionalItemObject{uid=lTgH92dRNjH, name=PSP: Number of suspected cases}, DimensionalItemObject{uid=SJFoURZ61xV, name=PSP Suspected Cases Tested}, DimensionalItemObject{uid=SVgIRDU0F7e, name=PSP: positive tested cases}]}, BaseDimensionalObject{Dimension=pe, type=PERIOD, display name=Period, items=[DimensionalItemObject{uid=2019W10, name=W10 2019}]}, BaseDimensionalObject{Dimension=pe, type=PERIOD, display name=Period, items=[DimensionalItemObject{uid=2019W10, name=W10 2019}]}]

    at org.hisp.dhis.analytics.data.DefaultQueryValidator.validate(DefaultQueryValidator.java:172)

    at org.hisp.dhis.analytics.data.DefaultAnalyticsService.getAggregatedDataValues(DefaultAnalyticsService.java:236)

    at org.hisp.dhis.analytics.data.DefaultAnalyticsService.getAggregatedDataValueMapping(DefaultAnalyticsService.java:294)

    at org.hisp.dhis.analytics.data.DefaultAnalyticsService.getAggregatedDataValueMapping(DefaultAnalyticsService.java:305)

    at org.hisp.dhis.reporttable.impl.DefaultReportTableService.getReportTableGridByUser(DefaultReportTableService.java:149)

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

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

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

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

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

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

    at com.sun.proxy.$Proxy215.getReportTableGridByUser(Unknown Source)

    at org.hisp.dhis.pushanalysis.DefaultPushAnalysisService.generateReportTableHtml(DefaultPushAnalysisService.java:413)

    at org.hisp.dhis.pushanalysis.DefaultPushAnalysisService.getItemHtml(DefaultPushAnalysisService.java:326)

    at org.hisp.dhis.pushanalysis.DefaultPushAnalysisService.generateHtmlReport(DefaultPushAnalysisService.java:268)

    at org.hisp.dhis.pushanalysis.DefaultPushAnalysisService.runPushAnalysis(DefaultPushAnalysisService.java:228)

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

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

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

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

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

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

    at com.sun.proxy.$Proxy216.runPushAnalysis(Unknown Source)

    at org.hisp.dhis.pushanalysis.scheduling.PushAnalysisJob.execute(PushAnalysisJob.java:61)

    at org.hisp.dhis.scheduling.DefaultJobInstance.executeJob(DefaultJobInstance.java:145)

    at org.hisp.dhis.scheduling.DefaultJobInstance.execute(DefaultJobInstance.java:59)

    at org.hisp.dhis.scheduling.DefaultSchedulingManager.lambda$internalExecuteJobConfiguration$2(DefaultSchedulingManager.java:237)

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

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

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

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

    at java.lang.Thread.run(Thread.java:748)
  • INFO 2019-03-12 14:51:14,843 [Level: INFO, category: PUSH_ANALYSIS, time: Tue Mar 12 14:51:14 UTC 2019, message: Generating PushAnalysis for user ‘braviki’.] (InMemoryNotifier.java [taskScheduler-2])

  • INFO 2019-03-12 14:51:14,843 Generating PushAnalysis for user ‘braviki’. (DefaultPushAnalysisService.java [taskScheduler-2])

  • WARN 2019-03-12 14:51:14,899 Analytics validation failed: Dimensions cannot be specified more than once: [BaseDimensionalObject{Dimension=dx, type=DATA_X, display name=Data, items=[DimensionalItemObject{uid=lTgH92dRNjH, name=PSP: Number of suspected cases}, DimensionalItemObject{uid=SJFoURZ61xV, name=PSP Suspected Cases Tested}, DimensionalItemObject{uid=SVgIRDU0F7e, name=PSP: positive tested cases}]}, BaseDimensionalObject{Dimension=dx, type=DATA_X, display name=Data, items=[DimensionalItemObject{uid=lTgH92dRNjH, name=PSP: Number of suspected cases}, DimensionalItemObject{uid=SJFoURZ61xV, name=PSP Suspected Cases Tested}, DimensionalItemObject{uid=SVgIRDU0F7e, name=PSP: positive tested cases}]}, BaseDimensionalObject{Dimension=dx, type=DATA_X, display name=Data, items=[DimensionalItemObject{uid=lTgH92dRNjH, name=PSP: Number of suspected cases}, DimensionalItemObject{uid=SJFoURZ61xV, name=PSP Suspected Cases Tested}, DimensionalItemObject{uid=SVgIRDU0F7e, name=PSP: positive tested cases}]}, BaseDimensionalObject{Dimension=pe, type=PERIOD, display name=Period, items=[DimensionalItemObject{uid=2019W10, name=W10 2019}]}, BaseDimensionalObject{Dimension=pe, type=PERIOD, display name=Period, items=[DimensionalItemObject{uid=2019W10, name=W10 2019}]}, BaseDimensionalObject{Dimension=pe, type=PERIOD, display name=Period, items=[DimensionalItemObject{uid=2019W10, name=W10 2019}]}] (DefaultQueryValidator.java [taskScheduler-2])

  • INFO 2019-03-12 14:51:14,900 [Level: ERROR, category: PUSH_ANALYSIS, time: Tue Mar 12 14:51:14 UTC 2019, message: Could not create or send report for PushAnalysis ‘Weekly Report’ and User ‘braviki’: Dimensions cannot be specified more than once: [BaseDimensionalObject{Dimension=dx, type=DATA_X, display name=Data, items=[DimensionalItemObject{uid=lTgH92dRNjH, name=PSP: Number of suspected cases}, DimensionalItemObject{uid=SJFoURZ61xV, name=PSP Suspected Cases Tested}, DimensionalItemObject{uid=SVgIRDU0F7e, name=PSP: positive tested cases}]}, BaseDimensionalObject{Dimension=dx, type=DATA_X, display name=Data, items=[DimensionalItemObject{uid=lTgH92dRNjH, name=PSP: Number of suspected cases}, DimensionalItemObject{uid=SJFoURZ61xV, name=PSP Suspected Cases Tested}, DimensionalItemObject{uid=SVgIRDU0F7e, name=PSP: positive tested cases}]}, BaseDimensionalObject{Dimension=dx, type=DATA_X, display name=Data, items=[DimensionalItemObject{uid=lTgH92dRNjH, name=PSP: Number of suspected cases}, DimensionalItemObject{uid=SJFoURZ61xV, name=PSP Suspected Cases Tested}, DimensionalItemObject{uid=SVgIRDU0F7e, name=PSP: positive tested cases}]}, BaseDimensionalObject{Dimension=pe, type=PERIOD, display name=Period, items=[DimensionalItemObject{uid=2019W10, name=W10 2019}]}, BaseDimensionalObject{Dimension=pe, type=PERIOD, display name=Period, items=[DimensionalItemObject{uid=2019W10, name=W10 2019}]}, BaseDimensionalObject{Dimension=pe, type=PERIOD, display name=Period, items=[DimensionalItemObject{uid=2019W10, name=W10 2019}]}]] (InMemoryNotifier.java [taskScheduler-2])

  • ERROR 2019-03-12 14:51:14,900 Could not create or send report for PushAnalysis ‘Weekly Report’ and User ‘braviki’: Dimensions cannot be specified more than once: [BaseDimensionalObject{Dimension=dx, type=DATA_X, display name=Data, items=[DimensionalItemObject{uid=lTgH92dRNjH, name=PSP: Number of suspected cases}, DimensionalItemObject{uid=SJFoURZ61xV, name=PSP Suspected Cases Tested}, DimensionalItemObject{uid=SVgIRDU0F7e, name=PSP: positive tested cases}]}, BaseDimensionalObject{Dimension=dx, type=DATA_X, display name=Data, items=[DimensionalItemObject{uid=lTgH92dRNjH, name=PSP: Number of suspected cases}, DimensionalItemObject{uid=SJFoURZ61xV, name=PSP Suspected Cases Tested}, DimensionalItemObject{uid=SVgIRDU0F7e, name=PSP: positive tested cases}]}, BaseDimensionalObject{Dimension=dx, type=DATA_X, display name=Data, items=[DimensionalItemObject{uid=lTgH92dRNjH, name=PSP: Number of suspected cases}, DimensionalItemObject{uid=SJFoURZ61xV, name=PSP Suspected Cases Tested}, DimensionalItemObject{uid=SVgIRDU0F7e, name=PSP: positive tested cases}]}, BaseDimensionalObject{Dimension=pe, type=PERIOD, display name=Period, items=[DimensionalItemObject{uid=2019W10, name=W10 2019}]}, BaseDimensionalObject{Dimension=pe, type=PERIOD, display name=Period, items=[DimensionalItemObject{uid=2019W10, name=W10 2019}]}, BaseDimensionalObject{Dimension=pe, type=PERIOD, display name=Period, items=[DimensionalItemObject{uid=2019W10, name=W10 2019}]}] (DefaultPushAnalysisService.java [taskScheduler-2])

org.hisp.dhis.common.IllegalQueryException: Dimensions cannot be specified more than once: [BaseDimensionalObject{Dimension=dx, type=DATA_X, display name=Data, items=[DimensionalItemObject{uid=lTgH92dRNjH, name=PSP: Number of suspected cases}, DimensionalItemObject{uid=SJFoURZ61xV, name=PSP Suspected Cases Tested}, DimensionalItemObject{uid=SVgIRDU0F7e, name=PSP: positive tested cases}]}, BaseDimensionalObject{Dimension=dx, type=DATA_X, display name=Data, items=[DimensionalItemObject{uid=lTgH92dRNjH, name=PSP: Number of suspected cases}, DimensionalItemObject{uid=SJFoURZ61xV, name=PSP Suspected Cases Tested}, DimensionalItemObject{uid=SVgIRDU0F7e, name=PSP: positive tested cases}]}, BaseDimensionalObject{Dimension=dx, type=DATA_X, display name=Data, items=[DimensionalItemObject{uid=lTgH92dRNjH, name=PSP: Number of suspected cases}, DimensionalItemObject{uid=SJFoURZ61xV, name=PSP Suspected Cases Tested}, DimensionalItemObject{uid=SVgIRDU0F7e, name=PSP: positive tested cases}]}, BaseDimensionalObject{Dimension=pe, type=PERIOD, display name=Period, items=[DimensionalItemObject{uid=2019W10, name=W10 2019}]}, BaseDimensionalObject{Dimension=pe, type=PERIOD, display name=Period, items=[DimensionalItemObject{uid=2019W10, name=W10 2019}]}, BaseDimensionalObject{Dimension=pe, type=PERIOD, display name=Period, items=[DimensionalItemObject{uid=2019W10, name=W10 2019}]}]

    at org.hisp.dhis.analytics.data.DefaultQueryValidator.validate(DefaultQueryValidator.java:172)

    at org.hisp.dhis.analytics.data.DefaultAnalyticsService.getAggregatedDataValues(DefaultAnalyticsService.java:236)

    at org.hisp.dhis.analytics.data.DefaultAnalyticsService.getAggregatedDataValueMapping(DefaultAnalyticsService.java:294)

    at org.hisp.dhis.analytics.data.DefaultAnalyticsService.getAggregatedDataValueMapping(DefaultAnalyticsService.java:305)

    at org.hisp.dhis.reporttable.impl.DefaultReportTableService.getReportTableGridByUser(DefaultReportTableService.java:149)

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

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

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

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

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

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

    at com.sun.proxy.$Proxy215.getReportTableGridByUser(Unknown Source)

    at org.hisp.dhis.pushanalysis.DefaultPushAnalysisService.generateReportTableHtml(DefaultPushAnalysisService.java:413)

    at org.hisp.dhis.pushanalysis.DefaultPushAnalysisService.getItemHtml(DefaultPushAnalysisService.java:326)

    at org.hisp.dhis.pushanalysis.DefaultPushAnalysisService.generateHtmlReport(DefaultPushAnalysisService.java:268)

    at org.hisp.dhis.pushanalysis.DefaultPushAnalysisService.runPushAnalysis(DefaultPushAnalysisService.java:228)

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

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

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

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

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

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

    at com.sun.proxy.$Proxy216.runPushAnalysis(Unknown Source)

    at org.hisp.dhis.pushanalysis.scheduling.PushAnalysisJob.execute(PushAnalysisJob.java:61)

    at org.hisp.dhis.scheduling.DefaultJobInstance.executeJob(DefaultJobInstance.java:145)

    at org.hisp.dhis.scheduling.DefaultJobInstance.execute(DefaultJobInstance.java:59)

    at org.hisp.dhis.scheduling.DefaultSchedulingManager.lambda$internalExecuteJobConfiguration$2(DefaultSchedulingManager.java:237)

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

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

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

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

    at java.lang.Thread.run(Thread.java:748)
  • INFO 2019-03-12 14:51:14,906 no recipient (SmsMessageSender.java [taskScheduler-2])

  • INFO 2019-03-12 14:51:14,906 ‘system-process’ create org.hisp.dhis.message.MessageConversation, name: Job ‘pushAnalysisJob from controller’ failed, uid: LfpRcqLXk6Y (AuditLogUtil.java [taskScheduler-2])

  • ERROR 2019-03-12 14:51:14,916 Job ‘pushAnalysisJob from controller’ failed (DefaultJobInstance.java [taskScheduler-2])

org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only

    at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:724)

    at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:518)

    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:292)

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

    at com.sun.proxy.$Proxy216.runPushAnalysis(Unknown Source)

    at org.hisp.dhis.pushanalysis.scheduling.PushAnalysisJob.execute(PushAnalysisJob.java:61)

    at org.hisp.dhis.scheduling.DefaultJobInstance.executeJob(DefaultJobInstance.java:145)

    at org.hisp.dhis.scheduling.DefaultJobInstance.execute(DefaultJobInstance.java:59)

    at org.hisp.dhis.scheduling.DefaultSchedulingManager.lambda$internalExecuteJobConfiguration$2(DefaultSchedulingManager.java:237)

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

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

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

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

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

(Scott Russpatrick) #2

@viet could you please have a look at this?


(Viet Nguyen) #3

@Barnabas_Akumba

From the error message, I think this is a data issue.
You can take a closer look at the error log, and do some investigation on those dimension object items. Not sure but It may be a result of duplicate attribute values.

In the document, we have a session for debugging this kind of issues, not sure if it would solve your case.

https://docs.dhis2.org/2.29/en/developer/html/webapi_analytics.html

When using attribute-based identifier schemes for export there is a risk of producing duplicate data values. The boolean query parameter duplicatesOnly can be used for debugging purposes to return only duplicates data values. This response can be used to clean up the duplicates:

api/analytics/dataValueSet.xml?dimension=dx:Uvn6LCg7dVU;OdiHJayrsKo
  &dimension=pe:LAST_4_QUARTERS&dimension=ou:lc3eMKXaEfw&duplicatesOnly=true