You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by ad...@apache.org on 2023/01/26 14:24:40 UTC

[fineract] 01/01: FINERACT-1689: Fix job mismatched logic

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 <ad...@gmail.com>
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;