From 8a4fe1d86ec40aaea4e12aa7877bd45997e2dab1 Mon Sep 17 00:00:00 2001 From: ligang Date: Fri, 24 May 2019 17:46:19 +0800 Subject: [PATCH] Determine if a node exists before deleting it --- .../java/cn/escheduler/common/queue/TaskQueueZkImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/escheduler-common/src/main/java/cn/escheduler/common/queue/TaskQueueZkImpl.java b/escheduler-common/src/main/java/cn/escheduler/common/queue/TaskQueueZkImpl.java index 1b39cb1e8d..28f696aa6e 100644 --- a/escheduler-common/src/main/java/cn/escheduler/common/queue/TaskQueueZkImpl.java +++ b/escheduler-common/src/main/java/cn/escheduler/common/queue/TaskQueueZkImpl.java @@ -206,7 +206,10 @@ public class TaskQueueZkImpl extends AbstractZKClient implements ITaskQueue { String taskIdPath = tasksQueuePath + nodeValue; logger.info("consume task {}", taskIdPath); try{ - zk.delete().forPath(taskIdPath); + Stat stat = zk.checkExists().forPath(taskIdPath); + if(stat != null){ + zk.delete().forPath(taskIdPath); + } }catch(Exception e){ logger.error(String.format("delete task:%s from zookeeper fail, exception:" ,nodeValue) ,e); }