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-elasticjob.git


The following commit(s) were added to refs/heads/master by this push:
     new 2afa17e  Shard is not working when instance node removes (#1085) 
(#1087)
2afa17e is described below

commit 2afa17e65f7242fb6d588b9674f88195ac57298b
Author: Tboy <[email protected]>
AuthorDate: Thu Jul 16 18:33:15 2020 +0800

    Shard is not working when instance node removes (#1085) (#1087)
---
 .../elasticjob/lite/internal/listener/AbstractJobListener.java   | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git 
a/elasticjob-lite/elasticjob-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/listener/AbstractJobListener.java
 
b/elasticjob-lite/elasticjob-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/listener/AbstractJobListener.java
index 1d0379d..2cab9b2 100644
--- 
a/elasticjob-lite/elasticjob-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/listener/AbstractJobListener.java
+++ 
b/elasticjob-lite/elasticjob-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/listener/AbstractJobListener.java
@@ -27,15 +27,16 @@ import 
org.apache.curator.framework.recipes.cache.CuratorCacheListener;
 public abstract class AbstractJobListener implements CuratorCacheListener {
     
     @Override
-    public final void event(final Type type, final ChildData oldData, final 
ChildData data) {
-        if (null == data) {
+    public final void event(final Type type, final ChildData oldData, final 
ChildData newData) {
+        if (null == newData && null == oldData) {
             return;
         }
-        String path = data.getPath();
+        String path = Type.NODE_DELETED == type ? oldData.getPath() : 
newData.getPath();
+        byte[] data = Type.NODE_DELETED == type ? oldData.getData() : 
newData.getData();
         if (path.isEmpty()) {
             return;
         }
-        dataChanged(path, type, null == data.getData() ? "" : new 
String(data.getData(), Charsets.UTF_8));
+        dataChanged(path, type, null == data ? "" : new String(data, 
Charsets.UTF_8));
     }
     
     protected abstract void dataChanged(String path, Type eventType, String 
data);

Reply via email to