You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by ji...@apache.org on 2022/02/21 08:53:45 UTC
[dolphinscheduler] branch 2.0.4-prepare updated: [cherry-pick-2.0.4] [Bug] [dolphinscheduler-server] task run error when worker group name contains uppercase letters (#8459)
This is an automated email from the ASF dual-hosted git repository.
jinyleechina pushed a commit to branch 2.0.4-prepare
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/2.0.4-prepare by this push:
new 2dec94d [cherry-pick-2.0.4] [Bug] [dolphinscheduler-server] task run error when worker group name contains uppercase letters (#8459)
2dec94d is described below
commit 2dec94d3b47eaf7dfb9a9bcebbc7b7a2fb2def0d
Author: caishunfeng <ca...@gmail.com>
AuthorDate: Mon Feb 21 16:53:39 2022 +0800
[cherry-pick-2.0.4] [Bug] [dolphinscheduler-server] task run error when worker group name contains uppercase letters (#8459)
* remove worker group lowercase (#8448)
* add try catch (#8433)
Co-authored-by: xiangzihao <46...@qq.com>
---
.../server/master/registry/ServerNodeManager.java | 40 ++++++++++++----------
1 file changed, 21 insertions(+), 19 deletions(-)
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/ServerNodeManager.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/ServerNodeManager.java
index 6b30a1a..075c573 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/ServerNodeManager.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/ServerNodeManager.java
@@ -189,26 +189,30 @@ public class ServerNodeManager implements InitializingBean {
@Override
public void run() {
- // sync worker node info
- Map<String, String> newWorkerNodeInfo = registryClient.getServerMaps(NodeType.WORKER, true);
- syncAllWorkerNodeInfo(newWorkerNodeInfo);
-
- // sync worker group nodes from database
- List<WorkerGroup> workerGroupList = workerGroupMapper.queryAllWorkerGroup();
- if (CollectionUtils.isNotEmpty(workerGroupList)) {
- for (WorkerGroup wg : workerGroupList) {
- String workerGroup = wg.getName();
- Set<String> nodes = new HashSet<>();
- String[] addrs = wg.getAddrList().split(Constants.COMMA);
- for (String addr : addrs) {
- if (newWorkerNodeInfo.containsKey(addr)) {
- nodes.add(addr);
+ try {
+ // sync worker node info
+ Map<String, String> newWorkerNodeInfo = registryClient.getServerMaps(NodeType.WORKER, true);
+ syncAllWorkerNodeInfo(newWorkerNodeInfo);
+
+ // sync worker group nodes from database
+ List<WorkerGroup> workerGroupList = workerGroupMapper.queryAllWorkerGroup();
+ if (CollectionUtils.isNotEmpty(workerGroupList)) {
+ for (WorkerGroup wg : workerGroupList) {
+ String workerGroup = wg.getName();
+ Set<String> nodes = new HashSet<>();
+ String[] addrs = wg.getAddrList().split(Constants.COMMA);
+ for (String addr : addrs) {
+ if (newWorkerNodeInfo.containsKey(addr)) {
+ nodes.add(addr);
+ }
+ }
+ if (!nodes.isEmpty()) {
+ syncWorkerGroupNodes(workerGroup, nodes);
}
- }
- if (!nodes.isEmpty()) {
- syncWorkerGroupNodes(workerGroup, nodes);
}
}
+ } catch (Exception e) {
+ logger.error("WorkerNodeInfoAndGroupDbSyncTask error:", e);
}
}
}
@@ -359,7 +363,6 @@ public class ServerNodeManager implements InitializingBean {
private void syncWorkerGroupNodes(String workerGroup, Collection<String> nodes) {
workerGroupLock.lock();
try {
- workerGroup = workerGroup.toLowerCase();
Set<String> workerNodes = workerGroupNodes.getOrDefault(workerGroup, new HashSet<>());
workerNodes.clear();
workerNodes.addAll(nodes);
@@ -385,7 +388,6 @@ public class ServerNodeManager implements InitializingBean {
if (StringUtils.isEmpty(workerGroup)) {
workerGroup = Constants.DEFAULT_WORKER_GROUP;
}
- workerGroup = workerGroup.toLowerCase();
Set<String> nodes = workerGroupNodes.get(workerGroup);
if (CollectionUtils.isNotEmpty(nodes)) {
// avoid ConcurrentModificationException