dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #51008
Re: Integrity check error
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@xxxxxxxxx> 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@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.j
>>> ava: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.filterI
>>> sValid(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
> <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
>
> *******************************************
>
>
--
Lars Helge Øverland
Technical lead, DHIS 2
University of Oslo
lars@xxxxxxxxx
https://www.dhis2.org
References