[ 
https://issues.apache.org/jira/browse/FINERACT-1097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17165402#comment-17165402
 ] 

Petri Tuomola commented on FINERACT-1097:
-----------------------------------------

Hi [~kaze] - I've hit the same issue before, and by extending the timeout for 
the tests from 30 seconds to a much larger number the scheduled jobs completed 
without issues.

It seems that some of the scheduled jobs are pretty inefficient at processing 
the data. If you run the integration tests with an empty database, the jobs 
pass within the 30 second timeout. But if you have already ran the integration 
tests multiple times (and hence have some more data in the database), the 
processing takes too long to complete in 30 seconds and you get this error.

In general I think it would definitely be a good idea to look to performance 
tune the batch jobs (as well as the rest of Fineract!). But in my view it would 
be good to do this performance tuning with realistic data, workload & setup - 
so that the performance tuning actually helps real Fineract installations and 
not just the integration tests. 

> SchedularJob IT tests failing(org.awaitility.core.ConditionTimeoutException)
> ----------------------------------------------------------------------------
>
>                 Key: FINERACT-1097
>                 URL: https://issues.apache.org/jira/browse/FINERACT-1097
>             Project: Apache Fineract
>          Issue Type: Bug
>    Affects Versions: 1.4.0
>            Reporter: Yemdjih Kaze Nasser
>            Priority: Major
>
> While looking into 
> [FINERACT-1069|https://issues.apache.org/jira/browse/FINERACT-1069], I 
> stumbled upon some schedular IT test errors which I faced when working on 
> migrating the JPA so originally I thought something was wrong with some of 
> the changes I made. Seeing thesame error with OpenJPA on branch develop tells 
> me this deserves more attention. Here are the logs:
>  
> {code:java}
> SchedulerJobsTest > testTriggeringManualExecutionOfAllSchedulerJobs() FAILED
>     org.awaitility.core.ConditionTimeoutException: Lambda expression in 
> org.apache.fineract.integrationtests.common.SchedulerJobHelper: expected the 
> predicate to ret
> urn <true> but it returned <false> for input of <{version=4, 
> jobRunStartTime=2020-07-26T16:52:28Z, jobRunEndTime=2020-07-26T16:52:47Z, 
> status=success, triggerType=ap
> plication}> within 30 seconds.
>         at 
> org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:165)
>         at 
> org.awaitility.core.AbstractHamcrestCondition.await(AbstractHamcrestCondition.java:86)
>         at 
> org.awaitility.core.ConditionFactory.until(ConditionFactory.java:895)
>         at 
> org.awaitility.core.ConditionFactory.until(ConditionFactory.java:601)
>         at 
> org.awaitility.core.ConditionFactory.until(ConditionFactory.java:618)
>         at 
> org.apache.fineract.integrationtests.common.SchedulerJobHelper.executeAndAwaitJob(SchedulerJobHelper.java:165)
>         at 
> org.apache.fineract.integrationtests.SchedulerJobsTest.testTriggeringManualExecutionOfAllSchedulerJobs(SchedulerJobsTest.java:132)
>         Caused by:
>         java.util.concurrent.TimeoutException
>             at 
> java.base/java.util.concurrent.FutureTask.get(FutureTask.java:204)
>             at 
> org.awaitility.core.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:101)
>             at 
> org.awaitility.core.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:81)
>             at 
> org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:101)
>             ... 6 more
> SchedulerJobsTestResults > testUpdateAccountingRunningBalancesJobOutcome() 
> FAILED
>     org.awaitility.core.ConditionTimeoutException: Lambda expression in 
> org.apache.fineract.integrationtests.common.SchedulerJobHelper: expected the 
> predicate to ret
> urn <true> but it returned <false> for input of <{version=1, 
> jobRunStartTime=2020-07-16T18:31:00Z, jobRunEndTime=2020-07-16T18:31:00Z, 
> status=success, triggerType=cr
> on}> within 30 seconds.
>         at 
> org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:165)
>         at 
> org.awaitility.core.AbstractHamcrestCondition.await(AbstractHamcrestCondition.java:86)
>         at 
> org.awaitility.core.ConditionFactory.until(ConditionFactory.java:895)
>         at 
> org.awaitility.core.ConditionFactory.until(ConditionFactory.java:601)
>         at 
> org.awaitility.core.ConditionFactory.until(ConditionFactory.java:618)
>         at 
> org.apache.fineract.integrationtests.common.SchedulerJobHelper.executeAndAwaitJob(SchedulerJobHelper.java:165)
>         at 
> org.apache.fineract.integrationtests.SchedulerJobsTestResults.testUpdateAccountingRunningBalancesJobOutcome(SchedulerJobsTestResults.java:423)
> SchedulerJobsTestResults > testInterestPostingForSavingsJobOutcome() FAILED
>     org.awaitility.core.ConditionTimeoutException: Lambda expression in 
> org.apache.fineract.integrationtests.common.SchedulerJobHelper: expected the 
> predicate to ret
> urn <true> but it returned <false> for input of <{version=5, 
> jobRunStartTime=2020-07-26T18:11:18Z, jobRunEndTime=2020-07-26T18:12:54Z, 
> status=success, triggerType=ap
> plication}> within 30 seconds.
>         at 
> org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:165)
>         at 
> org.awaitility.core.AbstractHamcrestCondition.await(AbstractHamcrestCondition.java:86)
>         at 
> org.awaitility.core.ConditionFactory.until(ConditionFactory.java:895)
>         at 
> org.awaitility.core.ConditionFactory.until(ConditionFactory.java:601)
>         at 
> org.awaitility.core.ConditionFactory.until(ConditionFactory.java:618)
>         at 
> org.apache.fineract.integrationtests.common.SchedulerJobHelper.executeAndAwaitJob(SchedulerJobHelper.java:165)
>         at 
> org.apache.fineract.integrationtests.SchedulerJobsTestResults.testInterestPostingForSavingsJobOutcome(SchedulerJobsTestResults.java:194)
> SchedulerJobsTestResults > testInterestTransferForSavings() FAILED
>     org.awaitility.core.ConditionTimeoutException: Lambda expression in 
> org.apache.fineract.integrationtests.common.SchedulerJobHelper: expected the 
> predicate to ret
> urn <true> but it returned <false> for input of <{version=2, 
> jobRunStartTime=2020-07-26T16:52:51Z, jobRunEndTime=2020-07-26T16:52:51Z, 
> status=success, triggerType=ap
> plication}> within 30 seconds.
>         at 
> org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:165)
>         at 
> org.awaitility.core.AbstractHamcrestCondition.await(AbstractHamcrestCondition.java:86)
>         at 
> org.awaitility.core.ConditionFactory.until(ConditionFactory.java:895)
>         at 
> org.awaitility.core.ConditionFactory.until(ConditionFactory.java:601)
>         at 
> org.awaitility.core.ConditionFactory.until(ConditionFactory.java:618)
>         at 
> org.apache.fineract.integrationtests.common.SchedulerJobHelper.executeAndAwaitJob(SchedulerJobHelper.java:165)
>         at 
> org.apache.fineract.integrationtests.SchedulerJobsTestResults.testInterestTransferForSavings(SchedulerJobsTestResults.java:896)
> {code}
> FYI: [~vorburger] [~ptuomola]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to