This is an automated email from the ASF dual-hosted git repository.

adamsaghy pushed a commit to branch bugfix/FINERACT-1689
in repository https://gitbox.apache.org/repos/asf/fineract.git

commit a727a22e014a9d2ba2606237ed30684e1b195e6b
Author: Adam Saghy <[email protected]>
AuthorDate: Thu Jan 26 15:24:05 2023 +0100

    FINERACT-1689: Fix job mismatched logic
---
 .../fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java  | 4 +---
 .../jobs/service/SchedularWritePlatformServiceJpaRepositoryImpl.java  | 1 +
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java
index 7f2145f00..95a5f7a3d 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java
@@ -163,7 +163,7 @@ public class JobRegisterServiceImpl implements 
JobRegisterService, ApplicationLi
                 final List<ScheduledJobDetail> scheduledJobDetails = 
this.schedularWritePlatformService
                         .retrieveAllJobs(fineractProperties.getNodeId());
                 for (final ScheduledJobDetail jobDetail : scheduledJobDetails) 
{
-                    if (jobDetail.isTriggerMisfired() || 
jobDetail.isMismatchedJob()) {
+                    if (jobDetail.isTriggerMisfired()) {
                         if (jobDetail.isActiveSchedular()) {
                             executeJob(jobDetail, 
SchedulerServiceConstants.TRIGGER_TYPE_CRON, Collections.emptySet());
                             jobDetail.setMismatchedJob(false);
@@ -216,8 +216,6 @@ public class JobRegisterServiceImpl implements 
JobRegisterService, ApplicationLi
 
         if (nodeIdStored.equals(fineractProperties.getNodeId()) || 
nodeIdStored.equals("0")) {
             executeJob(scheduledJobDetail, null, jobParameterDTOSet);
-            scheduledJobDetail.setMismatchedJob(false);
-            
this.schedularWritePlatformService.saveOrUpdate(scheduledJobDetail);
         } else {
             scheduledJobDetail.setMismatchedJob(true);
             
this.schedularWritePlatformService.saveOrUpdate(scheduledJobDetail);
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/SchedularWritePlatformServiceJpaRepositoryImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/SchedularWritePlatformServiceJpaRepositoryImpl.java
index f2645cd7c..d8a1f9e6d 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/SchedularWritePlatformServiceJpaRepositoryImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/SchedularWritePlatformServiceJpaRepositoryImpl.java
@@ -148,6 +148,7 @@ public class SchedularWritePlatformServiceJpaRepositoryImpl 
implements Schedular
             isStopExecution = true;
         } else if (!isStopExecution) {
             scheduledJobDetail.setCurrentlyRunning(true);
+            scheduledJobDetail.setMismatchedJob(false);
         }
         this.scheduledJobDetailsRepository.save(scheduledJobDetail);
         return isStopExecution;

Reply via email to