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: } } }