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

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


The following commit(s) were added to refs/heads/master by this push:
     new f6d403ec3ab Refactor KillProcessHandler (#34932)
f6d403ec3ab is described below

commit f6d403ec3abad2a299771484b2f17d17721869a1
Author: Liang Zhang <zhangli...@apache.org>
AuthorDate: Sat Mar 8 06:27:07 2025 +0800

    Refactor KillProcessHandler (#34932)
---
 .../handler/global/node/KillProcessHandler.java    | 29 ++++++++++++----------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/KillProcessHandler.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/KillProcessHandler.java
index 38179549965..00afd7105d7 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/KillProcessHandler.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/KillProcessHandler.java
@@ -53,20 +53,23 @@ public final class KillProcessHandler implements 
GlobalDataChangedEventHandler {
         if (!NodePathSearcher.isMatchedPath(event.getKey(), 
KillProcessTriggerNodePath.createProcessIdSearchCriteria())) {
             return;
         }
-        String instanceId = NodePathSearcher.find(event.getKey(), 
KillProcessTriggerNodePath.createInstanceIdSearchCriteria()).orElse("");
-        String processId = NodePathSearcher.find(event.getKey(), 
KillProcessTriggerNodePath.createProcessIdSearchCriteria()).orElse("");
-        if (Type.ADDED == event.getType()) {
-            if 
(!instanceId.equals(contextManager.getComputeNodeInstanceContext().getInstance().getMetaData().getId()))
 {
+        String instanceId = NodePathSearcher.get(event.getKey(), 
KillProcessTriggerNodePath.createInstanceIdSearchCriteria());
+        String processId = NodePathSearcher.get(event.getKey(), 
KillProcessTriggerNodePath.createProcessIdSearchCriteria());
+        switch (event.getType()) {
+            case ADDED:
+                if 
(instanceId.equals(contextManager.getComputeNodeInstanceContext().getInstance().getMetaData().getId()))
 {
+                    try {
+                        ProcessRegistry.getInstance().kill(processId);
+                    } catch (final SQLException ex) {
+                        throw new SQLWrapperException(ex);
+                    }
+                    new 
ClusterProcessPersistCoordinator(contextManager.getPersistServiceFacade().getRepository()).cleanProcess(instanceId,
 processId);
+                }
                 return;
-            }
-            try {
-                ProcessRegistry.getInstance().kill(processId);
-            } catch (final SQLException ex) {
-                throw new SQLWrapperException(ex);
-            }
-            new 
ClusterProcessPersistCoordinator(contextManager.getPersistServiceFacade().getRepository()).cleanProcess(instanceId,
 processId);
-        } else if (Type.DELETED == event.getType()) {
-            ProcessOperationLockRegistry.getInstance().notify(processId);
+            case DELETED:
+                ProcessOperationLockRegistry.getInstance().notify(processId);
+                return;
+            default:
         }
     }
 }

Reply via email to