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

wuweijie 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 b5a4873  Fix NPE in InstanceService.getAvailableJobInstances (#1952)
b5a4873 is described below

commit b5a4873d09af61ff3b7da8ebf4f8d67932a9e950
Author: GuoJiwei <[email protected]>
AuthorDate: Tue Aug 3 14:07:49 2021 +0800

    Fix NPE in InstanceService.getAvailableJobInstances (#1952)
    
    * Fix NPE in InstanceService.getAvailableJobInstances (#1950)
    
    * use orElseGet
---
 .../elasticjob/reg/zookeeper/ZookeeperRegistryCenter.java            | 5 +----
 .../elasticjob/lite/internal/instance/InstanceService.java           | 2 +-
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git 
a/elasticjob-infra/elasticjob-registry-center/src/main/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperRegistryCenter.java
 
b/elasticjob-infra/elasticjob-registry-center/src/main/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperRegistryCenter.java
index c414a0d..072ebfa 100644
--- 
a/elasticjob-infra/elasticjob-registry-center/src/main/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperRegistryCenter.java
+++ 
b/elasticjob-infra/elasticjob-registry-center/src/main/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperRegistryCenter.java
@@ -137,10 +137,7 @@ public final class ZookeeperRegistryCenter implements 
CoordinatorRegistryCenter
             return getDirectly(key);
         }
         Optional<ChildData> resultInCache = cache.get(key);
-        if (resultInCache.isPresent()) {
-            return null == resultInCache.get().getData() ? null : new 
String(resultInCache.get().getData(), StandardCharsets.UTF_8);
-        }
-        return getDirectly(key);
+        return resultInCache.map(v -> null == v.getData() ? null : new 
String(v.getData(), StandardCharsets.UTF_8)).orElseGet(() -> getDirectly(key));
     }
     
     private CuratorCache findCuratorCache(final String key) {
diff --git 
a/elasticjob-lite/elasticjob-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/InstanceService.java
 
b/elasticjob-lite/elasticjob-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/InstanceService.java
index 6d316d9..0fb0c3b 100644
--- 
a/elasticjob-lite/elasticjob-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/InstanceService.java
+++ 
b/elasticjob-lite/elasticjob-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/InstanceService.java
@@ -70,7 +70,7 @@ public final class InstanceService {
         List<JobInstance> result = new LinkedList<>();
         for (String each : 
jobNodeStorage.getJobNodeChildrenKeys(InstanceNode.ROOT)) {
             JobInstance jobInstance = 
YamlEngine.unmarshal(jobNodeStorage.getJobNodeData(instanceNode.getInstancePath(each)),
 JobInstance.class);
-            if (serverService.isEnableServer(jobInstance.getServerIp())) {
+            if (null != jobInstance && 
serverService.isEnableServer(jobInstance.getServerIp())) {
                 result.add(new JobInstance(each));
             }
         }

Reply via email to