← Back to team overview

dhis2-devs team mailing list archive

Re: Integrity check error

 

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@xxxxxxxxx> 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@xxxxxxxxx> 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(JexlArithmeti
>> c.java:906)
>>         at org.apache.commons.jexl2.JexlArithmetic.compare(JexlArithmet
>> ic.java:718)
>>         at org.apache.commons.jexl2.JexlArithmetic.equals(JexlArithmeti
>> c.java:759)
>>         at org.apache.commons.jexl2.Interpreter.visit(Interpreter.java:
>> 733)
>>         at org.apache.commons.jexl2.parser.ASTEQNode.jjtAccept(ASTEQNod
>> e.java:18)
>>         at org.apache.commons.jexl2.Interpreter.interpret(Interpreter.
>> java:232)
>>         at org.apache.commons.jexl2.ExpressionImpl.evaluate(ExpressionI
>> mpl.java:65)
>>         at org.hisp.dhis.commons.util.ExpressionUtils.evaluate(Expressi
>> onUtils.java:109)
>>         at org.hisp.dhis.commons.util.ExpressionUtils.evaluate(Expressi
>> onUtils.java:90)
>>         at org.hisp.dhis.commons.util.ExpressionUtils.isBoolean(Express
>> ionUtils.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.invokeJoinpointUsin
>> gReflection(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.TransactionInter
>> ceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
>>         at org.springframework.transaction.interceptor.TransactionAspec
>> tSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
>>         at org.springframework.transaction.interceptor.TransactionInter
>> ceptor.invoke(TransactionInterceptor.java:96)
>>         at org.springframework.aop.framework.ReflectiveMethodInvocation
>> .proceed(ReflectiveMethodInvocation.java:179)
>>         at org.springframework.aop.interceptor.ExposeInvocationIntercep
>> tor.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.lamb
>> da$getInvalidProgramIndicatorFilters$8(DefaultDataIntegrityS
>> ervice.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.getI
>> nvalidProgramIndicatorFilters(DefaultDataIntegrityService.java:662)
>>         at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getD
>> ataIntegrityReport(DefaultDataIntegrityService.java:620)
>>         at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getF
>> lattenedDataIntegrityReport(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.invokeJoinpointUsin
>> gReflection(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.TransactionInter
>> ceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
>>         at org.springframework.transaction.interceptor.TransactionAspec
>> tSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
>>         at org.springframework.transaction.interceptor.TransactionInter
>> ceptor.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(Da
>> taIntegrityJob.java:80)
>>         at org.hisp.dhis.scheduling.DefaultJobInstance.executeJob(Defau
>> ltJobInstance.java:145)
>>         at org.hisp.dhis.scheduling.DefaultJobInstance.execute(DefaultJ
>> obInstance.java:59)
>>         at org.hisp.dhis.scheduling.DefaultSchedulingManager.lambda$int
>> ernalExecuteJobConfiguration$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.DelegatingErrorHandli
>> ngRunnable.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
>> <https://maps.google.com/?q=46D+Alma+Road,+7700+Rosebank,+SOUTH+AFRICA&entry=gmail&source=g>
>>
>> Tel/fax (home): +27-21-685-6472
>>
>> Cell: +27-82-853-5352
>>
>> Iridium SatPhone: +8816-315-19119
>>
>> Email: calle.hedberg@xxxxxxxxx
>>
>> Skype: calle_hedberg
>>
>> *******************************************
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dhis2-devs
>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~dhis2-devs
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>
>
> --
> Lars Helge Øverland
> Technical lead, DHIS 2
> University of Oslo
> lars@xxxxxxxxx
> 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@xxxxxxxxx

Skype: calle_hedberg

*******************************************

Follow ups

References