Integrity check error

Hi,

I’ve got one instance where data integrity check under maintenance fails at the very end, and never display any result.

The tomcat log - anybody able to say what this means?

  • INFO 2018-04-06 10:47:56,136 Checked indicators (DefaultDataIntegrityService.java [taskScheduler-17])

  • INFO 2018-04-06 10:47:56,263 Checked periods (DefaultDataIntegrityService.java [taskScheduler-17])

  • INFO 2018-04-06 10:48:39,119 Checked organisation units (DefaultDataIntegrityService.java [taskScheduler-17])

  • INFO 2018-04-06 10:48:39,342 Checked validation rules (DefaultDataIntegrityService.java [taskScheduler-17])

  • INFO 2018-04-06 10:48:50,328 no recipient (SmsMessageSender.java [taskScheduler-17])

  • INFO 2018-04-06 10:48:50,329 ‘system-process’ create org.hisp.dhis.message.MessageConversation, name: Job ‘runAsyncDataIntegrity’ failed, uid: OVaYcH2nKOd (AuditLogUtil.java [taskScheduler-17])

  • ERROR 2018-04-06 10:48:50,337 Job ‘runAsyncDataIntegrity’ failed (DefaultJobInstance.java [taskScheduler-17])

java.lang.NumberFormatException: For input string: “A”

at java.lang.NumberFormatException.forInputString(Unknown Source)

at java.lang.Long.parseLong(Unknown Source)

at java.lang.Long.parseLong(Unknown Source)

at org.apache.commons.jexl2.JexlArithmetic.toLong(JexlArithmetic.java:906)

at org.apache.commons.jexl2.JexlArithmetic.compare(JexlArithmetic.java:718)

at org.apache.commons.jexl2.JexlArithmetic.equals(JexlArithmetic.java:759)

at org.apache.commons.jexl2.Interpreter.visit(Interpreter.java:733)

at org.apache.commons.jexl2.parser.ASTEQNode.jjtAccept(ASTEQNode.java:18)

at org.apache.commons.jexl2.Interpreter.interpret(Interpreter.java:232)

at org.apache.commons.jexl2.ExpressionImpl.evaluate(ExpressionImpl.java:65)

at org.hisp.dhis.commons.util.ExpressionUtils.evaluate(ExpressionUtils.java:109)

at org.hisp.dhis.commons.util.ExpressionUtils.evaluate(ExpressionUtils.java:90)

at org.hisp.dhis.commons.util.ExpressionUtils.isBoolean(ExpressionUtils.java:166)

at org.hisp.dhis.program.DefaultProgramIndicatorService.filterIsValid(DefaultProgramIndicatorService.java:507)

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

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

at java.lang.reflect.Method.invoke(Unknown Source)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java: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.$Proxy134.filterIsValid(Unknown Source)

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.lambda$getInvalidProgramIndicatorFilters$8(DefaultDataIntegrityService.java:661)

at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)

at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)

at java.util.stream.AbstractPipeline.copyInto(Unknown Source)

at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)

at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)

at java.util.stream.AbstractPipeline.evaluate(Unknown Source)

at java.util.stream.ReferencePipeline.collect(Unknown Source)

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getInvalidProgramIndicatorFilters(DefaultDataIntegrityService.java:662)

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getDataIntegrityReport(DefaultDataIntegrityService.java:620)

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getFlattenedDataIntegrityReport(DefaultDataIntegrityService.java:640)

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

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

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

at java.lang.reflect.Method.invoke(Unknown Source)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java: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.$Proxy135.getFlattenedDataIntegrityReport(Unknown Source)

at org.hisp.dhis.dataintegrity.jobs.DataIntegrityJob.execute(DataIntegrityJob.java:80)

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(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

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

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Regards

Calle

···

Calle Hedberg

46D Alma Road, 7700 Rosebank, SOUTH AFRICA

Tel/fax (home): +27-21-685-6472

Cell: +27-82-853-5352

Iridium SatPhone: +8816-315-19119

Email: calle.hedberg@gmail.com

Skype: calle_hedberg


Hi Calle,

it seems there is an invalid program indicator filter in there which trips up the check.

Have a look at your program indicator filters e.g. with this API request:

/api/programIndicators.json?fields=id,name,filter&paging=false

and look for anomalies, i.e. a filter with just an “A” or similar.

regards,

Lars

···

On 6 April 2018 at 11:05, Calle Hedberg calle.hedberg@gmail.com wrote:

Hi,

I’ve got one instance where data integrity check under maintenance fails at the very end, and never display any result.

The tomcat log - anybody able to say what this means?

  • INFO 2018-04-06 10:47:56,136 Checked indicators (DefaultDataIntegrityService.java [taskScheduler-17])
  • INFO 2018-04-06 10:47:56,263 Checked periods (DefaultDataIntegrityService.java [taskScheduler-17])
  • INFO 2018-04-06 10:48:39,119 Checked organisation units (DefaultDataIntegrityService.java [taskScheduler-17])
  • INFO 2018-04-06 10:48:39,342 Checked validation rules (DefaultDataIntegrityService.java [taskScheduler-17])
  • INFO 2018-04-06 10:48:50,328 no recipient (SmsMessageSender.java [taskScheduler-17])
  • INFO 2018-04-06 10:48:50,329 ‘system-process’ create org.hisp.dhis.message.MessageConversation, name: Job ‘runAsyncDataIntegrity’ failed, uid: OVaYcH2nKOd (AuditLogUtil.java [taskScheduler-17])
  • ERROR 2018-04-06 10:48:50,337 Job ‘runAsyncDataIntegrity’ failed (DefaultJobInstance.java [taskScheduler-17])

java.lang.NumberFormatException: For input string: “A”

at java.lang.NumberFormatException.forInputString(Unknown Source)

at java.lang.Long.parseLong(Unknown Source)

at java.lang.Long.parseLong(Unknown Source)

at org.apache.commons.jexl2.JexlArithmetic.toLong(JexlArithmetic.java:906)

at org.apache.commons.jexl2.JexlArithmetic.compare(JexlArithmetic.java:718)

at org.apache.commons.jexl2.JexlArithmetic.equals(JexlArithmetic.java:759)

at org.apache.commons.jexl2.Interpreter.visit(Interpreter.java:733)

at org.apache.commons.jexl2.parser.ASTEQNode.jjtAccept(ASTEQNode.java:18)

at org.apache.commons.jexl2.Interpreter.interpret(Interpreter.java:232)

at org.apache.commons.jexl2.ExpressionImpl.evaluate(ExpressionImpl.java:65)

at org.hisp.dhis.commons.util.ExpressionUtils.evaluate(ExpressionUtils.java:109)

at org.hisp.dhis.commons.util.ExpressionUtils.evaluate(ExpressionUtils.java:90)

at org.hisp.dhis.commons.util.ExpressionUtils.isBoolean(ExpressionUtils.java:166)

at org.hisp.dhis.program.DefaultProgramIndicatorService.filterIsValid(DefaultProgramIndicatorService.java:507)

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

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

at java.lang.reflect.Method.invoke(Unknown Source)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java: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.$Proxy134.filterIsValid(Unknown Source)

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.lambda$getInvalidProgramIndicatorFilters$8(DefaultDataIntegrityService.java:661)

at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)

at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)

at java.util.stream.AbstractPipeline.copyInto(Unknown Source)

at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)

at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)

at java.util.stream.AbstractPipeline.evaluate(Unknown Source)

at java.util.stream.ReferencePipeline.collect(Unknown Source)

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getInvalidProgramIndicatorFilters(DefaultDataIntegrityService.java:662)

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getDataIntegrityReport(DefaultDataIntegrityService.java:620)

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getFlattenedDataIntegrityReport(DefaultDataIntegrityService.java:640)

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

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

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

at java.lang.reflect.Method.invoke(Unknown Source)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java: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.$Proxy135.getFlattenedDataIntegrityReport(Unknown Source)

at org.hisp.dhis.dataintegrity.jobs.DataIntegrityJob.execute(DataIntegrityJob.java:80)

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(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

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

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Regards

Calle


Calle Hedberg

46D Alma Road, 7700 Rosebank, SOUTH AFRICA

Tel/fax (home): +27-21-685-6472

Cell: +27-82-853-5352

Iridium SatPhone: +8816-315-19119

Email: calle.hedberg@gmail.com

Skype: calle_hedberg



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

Lars Helge Øverland

Technical lead, DHIS 2

University of Oslo

lars@dhis2.org

https://www.dhis2.org

Lars,

There are no filters like that - BUT there are a few program indicators with no filter values at all. Is that illegal, for some reason? (at least in terms of the integrity checks)

Regards

Calle

···

On 6 April 2018 at 12:36, Lars Helge Øverland lars@dhis2.org wrote:

Hi Calle,

it seems there is an invalid program indicator filter in there which trips up the check.

Have a look at your program indicator filters e.g. with this API request:

/api/programIndicators.json?fields=id,name,filter&paging=false

and look for anomalies, i.e. a filter with just an “A” or similar.

regards,

Lars

On 6 April 2018 at 11:05, Calle Hedberg calle.hedberg@gmail.com wrote:

Hi,

I’ve got one instance where data integrity check under maintenance fails at the very end, and never display any result.

The tomcat log - anybody able to say what this means?

  • INFO 2018-04-06 10:47:56,136 Checked indicators (DefaultDataIntegrityService.java [taskScheduler-17])
  • INFO 2018-04-06 10:47:56,263 Checked periods (DefaultDataIntegrityService.java [taskScheduler-17])
  • INFO 2018-04-06 10:48:39,119 Checked organisation units (DefaultDataIntegrityService.java [taskScheduler-17])
  • INFO 2018-04-06 10:48:39,342 Checked validation rules (DefaultDataIntegrityService.java [taskScheduler-17])
  • INFO 2018-04-06 10:48:50,328 no recipient (SmsMessageSender.java [taskScheduler-17])
  • INFO 2018-04-06 10:48:50,329 ‘system-process’ create org.hisp.dhis.message.MessageConversation, name: Job ‘runAsyncDataIntegrity’ failed, uid: OVaYcH2nKOd (AuditLogUtil.java [taskScheduler-17])
  • ERROR 2018-04-06 10:48:50,337 Job ‘runAsyncDataIntegrity’ failed (DefaultJobInstance.java [taskScheduler-17])

java.lang.NumberFormatException: For input string: “A”

at java.lang.NumberFormatException.forInputString(Unknown Source)

at java.lang.Long.parseLong(Unknown Source)

at java.lang.Long.parseLong(Unknown Source)

at org.apache.commons.jexl2.JexlArithmetic.toLong(JexlArithmetic.java:906)

at org.apache.commons.jexl2.JexlArithmetic.compare(JexlArithmetic.java:718)

at org.apache.commons.jexl2.JexlArithmetic.equals(JexlArithmetic.java:759)

at org.apache.commons.jexl2.Interpreter.visit(Interpreter.java:733)

at org.apache.commons.jexl2.parser.ASTEQNode.jjtAccept(ASTEQNode.java:18)

at org.apache.commons.jexl2.Interpreter.interpret(Interpreter.java:232)

at org.apache.commons.jexl2.ExpressionImpl.evaluate(ExpressionImpl.java:65)

at org.hisp.dhis.commons.util.ExpressionUtils.evaluate(ExpressionUtils.java:109)

at org.hisp.dhis.commons.util.ExpressionUtils.evaluate(ExpressionUtils.java:90)

at org.hisp.dhis.commons.util.ExpressionUtils.isBoolean(ExpressionUtils.java:166)

at org.hisp.dhis.program.DefaultProgramIndicatorService.filterIsValid(DefaultProgramIndicatorService.java:507)

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

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

at java.lang.reflect.Method.invoke(Unknown Source)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java: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.$Proxy134.filterIsValid(Unknown Source)

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.lambda$getInvalidProgramIndicatorFilters$8(DefaultDataIntegrityService.java:661)

at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)

at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)

at java.util.stream.AbstractPipeline.copyInto(Unknown Source)

at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)

at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)

at java.util.stream.AbstractPipeline.evaluate(Unknown Source)

at java.util.stream.ReferencePipeline.collect(Unknown Source)

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getInvalidProgramIndicatorFilters(DefaultDataIntegrityService.java:662)

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getDataIntegrityReport(DefaultDataIntegrityService.java:620)

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getFlattenedDataIntegrityReport(DefaultDataIntegrityService.java:640)

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

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

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

at java.lang.reflect.Method.invoke(Unknown Source)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java: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.$Proxy135.getFlattenedDataIntegrityReport(Unknown Source)

at org.hisp.dhis.dataintegrity.jobs.DataIntegrityJob.execute(DataIntegrityJob.java:80)

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(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

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

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Regards

Calle


Calle Hedberg

46D Alma Road, 7700 Rosebank, SOUTH AFRICA

Tel/fax (home): +27-21-685-6472

Cell: +27-82-853-5352

Iridium SatPhone: +8816-315-19119

Email: calle.hedberg@gmail.com

Skype: calle_hedberg



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

Lars Helge Øverland

Technical lead, DHIS 2

University of Oslo

lars@dhis2.org

https://www.dhis2.org


Calle Hedberg

46D Alma Road, 7700 Rosebank, SOUTH AFRICA

Tel/fax (home): +27-21-685-6472

Cell: +27-82-853-5352

Iridium SatPhone: +8816-315-19119

Email: calle.hedberg@gmail.com

Skype: calle_hedberg


Alright. No filters should be okay.

Perhaps you can save the output of this request and send me so we can have a closer look:

/api/programIndicators.json?fields=*&paging=false

Lars

···

On 6 April 2018 at 12:53, Calle Hedberg calle.hedberg@gmail.com wrote:

Lars,

There are no filters like that - BUT there are a few program indicators with no filter values at all. Is that illegal, for some reason? (at least in terms of the integrity checks)

Regards

Calle

On 6 April 2018 at 12:36, Lars Helge Øverland lars@dhis2.org wrote:

Hi Calle,

it seems there is an invalid program indicator filter in there which trips up the check.

Have a look at your program indicator filters e.g. with this API request:

/api/programIndicators.json?fields=id,name,filter&paging=false

and look for anomalies, i.e. a filter with just an “A” or similar.

regards,

Lars


Calle Hedberg

46D Alma Road, 7700 Rosebank, SOUTH AFRICA

Tel/fax (home): +27-21-685-6472

Cell: +27-82-853-5352

Iridium SatPhone: +8816-315-19119

Email: calle.hedberg@gmail.com

Skype: calle_hedberg


On 6 April 2018 at 11:05, Calle Hedberg calle.hedberg@gmail.com wrote:

Hi,

I’ve got one instance where data integrity check under maintenance fails at the very end, and never display any result.

The tomcat log - anybody able to say what this means?

  • INFO 2018-04-06 10:47:56,136 Checked indicators (DefaultDataIntegrityService.java [taskScheduler-17])
  • INFO 2018-04-06 10:47:56,263 Checked periods (DefaultDataIntegrityService.java [taskScheduler-17])
  • INFO 2018-04-06 10:48:39,119 Checked organisation units (DefaultDataIntegrityService.java [taskScheduler-17])
  • INFO 2018-04-06 10:48:39,342 Checked validation rules (DefaultDataIntegrityService.java [taskScheduler-17])
  • INFO 2018-04-06 10:48:50,328 no recipient (SmsMessageSender.java [taskScheduler-17])
  • INFO 2018-04-06 10:48:50,329 ‘system-process’ create org.hisp.dhis.message.MessageConversation, name: Job ‘runAsyncDataIntegrity’ failed, uid: OVaYcH2nKOd (AuditLogUtil.java [taskScheduler-17])
  • ERROR 2018-04-06 10:48:50,337 Job ‘runAsyncDataIntegrity’ failed (DefaultJobInstance.java [taskScheduler-17])

java.lang.NumberFormatException: For input string: “A”

at java.lang.NumberFormatException.forInputString(Unknown Source)

at java.lang.Long.parseLong(Unknown Source)

at java.lang.Long.parseLong(Unknown Source)

at org.apache.commons.jexl2.JexlArithmetic.toLong(JexlArithmetic.java:906)

at org.apache.commons.jexl2.JexlArithmetic.compare(JexlArithmetic.java:718)

at org.apache.commons.jexl2.JexlArithmetic.equals(JexlArithmetic.java:759)

at org.apache.commons.jexl2.Interpreter.visit(Interpreter.java:733)

at org.apache.commons.jexl2.parser.ASTEQNode.jjtAccept(ASTEQNode.java:18)

at org.apache.commons.jexl2.Interpreter.interpret(Interpreter.java:232)

at org.apache.commons.jexl2.ExpressionImpl.evaluate(ExpressionImpl.java:65)

at org.hisp.dhis.commons.util.ExpressionUtils.evaluate(ExpressionUtils.java:109)

at org.hisp.dhis.commons.util.ExpressionUtils.evaluate(ExpressionUtils.java:90)

at org.hisp.dhis.commons.util.ExpressionUtils.isBoolean(ExpressionUtils.java:166)

at org.hisp.dhis.program.DefaultProgramIndicatorService.filterIsValid(DefaultProgramIndicatorService.java:507)

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

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

at java.lang.reflect.Method.invoke(Unknown Source)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java: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.$Proxy134.filterIsValid(Unknown Source)

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.lambda$getInvalidProgramIndicatorFilters$8(DefaultDataIntegrityService.java:661)

at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)

at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)

at java.util.stream.AbstractPipeline.copyInto(Unknown Source)

at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)

at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)

at java.util.stream.AbstractPipeline.evaluate(Unknown Source)

at java.util.stream.ReferencePipeline.collect(Unknown Source)

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getInvalidProgramIndicatorFilters(DefaultDataIntegrityService.java:662)

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getDataIntegrityReport(DefaultDataIntegrityService.java:620)

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getFlattenedDataIntegrityReport(DefaultDataIntegrityService.java:640)

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

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

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

at java.lang.reflect.Method.invoke(Unknown Source)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java: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.$Proxy135.getFlattenedDataIntegrityReport(Unknown Source)

at org.hisp.dhis.dataintegrity.jobs.DataIntegrityJob.execute(DataIntegrityJob.java:80)

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(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

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

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Regards

Calle


Calle Hedberg

46D Alma Road, 7700 Rosebank, SOUTH AFRICA

Tel/fax (home): +27-21-685-6472

Cell: +27-82-853-5352

Iridium SatPhone: +8816-315-19119

Email: calle.hedberg@gmail.com

Skype: calle_hedberg



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

Lars Helge Øverland

Technical lead, DHIS 2

University of Oslo

lars@dhis2.org

https://www.dhis2.org

Lars Helge Øverland

Technical lead, DHIS 2

University of Oslo

lars@dhis2.org

https://www.dhis2.org