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));
}
}