This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 903dcfa Fix NPE when load compute node labels (#14524)
903dcfa is described below
commit 903dcfa05da9f169ad8b9c866a21be602616295e
Author: Haoran Meng <[email protected]>
AuthorDate: Wed Jan 5 11:51:08 2022 +0800
Fix NPE when load compute node labels (#14524)
Co-authored-by: menghaoran <[email protected]>
---
.../shardingsphere/mode/metadata/persist/MetaDataPersistService.java | 2 +-
.../mode/metadata/persist/service/ComputeNodePersistService.java | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
index e6a6835..90083c4 100644
---
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
+++
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
@@ -99,7 +99,7 @@ public final class MetaDataPersistService {
}
/**
- * load compute node instances by labels.
+ * Load compute node instances by labels.
*
* @param labels collection of label
* @return collection of compute node instance
diff --git
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/ComputeNodePersistService.java
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/ComputeNodePersistService.java
index 09e2568..d2c7c00 100644
---
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/ComputeNodePersistService.java
+++
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/ComputeNodePersistService.java
@@ -18,6 +18,7 @@
package org.apache.shardingsphere.mode.metadata.persist.service;
import com.google.common.base.Splitter;
+import com.google.common.base.Strings;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.instance.ComputeNodeInstance;
import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
@@ -53,7 +54,8 @@ public final class ComputeNodePersistService {
* @return collection of label
*/
public Collection<String> loadInstanceLabels(final String instanceId) {
- return
YamlEngine.unmarshal(repository.get(ComputeNode.getInstanceLabelNodePath(instanceId)),
Collection.class);
+ String yamlContent =
repository.get(ComputeNode.getInstanceLabelNodePath(instanceId));
+ return Strings.isNullOrEmpty(yamlContent) ? new ArrayList<>() :
YamlEngine.unmarshal(yamlContent, Collection.class);
}
/**