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

linghengqian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere-elasticjob.git


The following commit(s) were added to refs/heads/master by this push:
     new ca353c3ef Fix Issue 2429 (#2432)
ca353c3ef is described below

commit ca353c3ef5ce76de8e42cab1f397bf93f98a7f75
Author: 凌小宇 <[email protected]>
AuthorDate: Sun Aug 25 21:07:29 2024 +0800

    Fix Issue 2429 (#2432)
    
    * issue-2429 failover node exist also remove running node,prevent execute 
dead loop
    
    * issue-2429 remove not useing code
---
 .../elasticjob/kernel/internal/failover/FailoverListenerManager.java     | 1 +
 .../elasticjob/kernel/internal/failover/FailoverListenerManagerTest.java | 1 +
 2 files changed, 2 insertions(+)

diff --git 
a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/failover/FailoverListenerManager.java
 
b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/failover/FailoverListenerManager.java
index f64279ccb..54ad75f57 100644
--- 
a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/failover/FailoverListenerManager.java
+++ 
b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/failover/FailoverListenerManager.java
@@ -97,6 +97,7 @@ public final class FailoverListenerManager extends 
AbstractListenerManager {
                 if (!failoverItems.isEmpty()) {
                     for (int each : failoverItems) {
                         failoverService.setCrashedFailoverFlagDirectly(each);
+                        
executionService.clearRunningInfo(Collections.singletonList(each));
                         failoverService.failoverIfNecessary();
                     }
                 } else {
diff --git 
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/failover/FailoverListenerManagerTest.java
 
b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/failover/FailoverListenerManagerTest.java
index a5dfafa4c..5bfe27dee 100644
--- 
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/failover/FailoverListenerManagerTest.java
+++ 
b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/failover/FailoverListenerManagerTest.java
@@ -157,6 +157,7 @@ class FailoverListenerManagerTest {
         
when(instanceNode.getInstanceFullPath()).thenReturn("/test_job/instances");
         failoverListenerManager.new JobCrashedJobListener().onChange(new 
DataChangedEvent(Type.DELETED, "/test_job/instances/127.0.0.1@-@1", ""));
         verify(failoverService).setCrashedFailoverFlagDirectly(1);
+        
verify(executionService).clearRunningInfo(Collections.singletonList(1));
         verify(failoverService).failoverIfNecessary();
         JobRegistry.getInstance().shutdown("test_job");
     }

Reply via email to