From bfa55635110b11f9b04fa0861109c9b914b3508c Mon Sep 17 00:00:00 2001 From: LJ1043041006 <1239497420@qq.com> Date: Wed, 2 May 2018 19:01:41 +0800 Subject: [PATCH 1/2] fix STORM-3051 --- .../apache/storm/container/cgroup/CgroupCenter.java | 11 ++++++++--- .../org/apache/storm/scheduler/resource/RAS_Node.java | 3 ++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/storm-client/src/jvm/org/apache/storm/container/cgroup/CgroupCenter.java b/storm-client/src/jvm/org/apache/storm/container/cgroup/CgroupCenter.java index 59ff7e60878..c49ffa3bfea 100644 --- a/storm-client/src/jvm/org/apache/storm/container/cgroup/CgroupCenter.java +++ b/storm-client/src/jvm/org/apache/storm/container/cgroup/CgroupCenter.java @@ -97,9 +97,11 @@ public Set getSubSystems() { @Override public boolean isSubSystemEnabled(SubSystemType subSystemType) { Set subSystems = this.getSubSystems(); - for (SubSystem subSystem : subSystems) { - if (subSystem.getType() == subSystemType) { - return true; + if (subSystems != null){ + for (SubSystem subSystem : subSystems) { + if (subSystem.getType() == subSystemType) { + return true; + } } } return false; @@ -113,6 +115,9 @@ public Hierarchy getHierarchyWithSubSystem(SubSystemType subSystem) { @Override public Hierarchy getHierarchyWithSubSystems(List subSystems) { List hierarchies = this.getHierarchies(); + if (hierarchies == null) { + return null; + } for (Hierarchy hierarchy : hierarchies) { Hierarchy ret = hierarchy; for (SubSystemType subSystem : subSystems) { diff --git a/storm-server/src/main/java/org/apache/storm/scheduler/resource/RAS_Node.java b/storm-server/src/main/java/org/apache/storm/scheduler/resource/RAS_Node.java index 4f43c0a0a2b..257ee9a94f5 100644 --- a/storm-server/src/main/java/org/apache/storm/scheduler/resource/RAS_Node.java +++ b/storm-server/src/main/java/org/apache/storm/scheduler/resource/RAS_Node.java @@ -206,7 +206,8 @@ public int totalSlotsUsed() { } public int totalSlotsUsed(String topId) { - return getUsedSlots(topId).size(); + Collection usedSlots = getUsedSlots(topId); + return usedSlots == null ? 0 : usedSlots.size(); } public int totalSlots() { From baec5224536c83344beb450faf5759e952f75a53 Mon Sep 17 00:00:00 2001 From: LJ1043041006 <1239497420@qq.com> Date: Mon, 7 May 2018 09:46:12 +0800 Subject: [PATCH 2/2] fix checkstyle error --- .../src/jvm/org/apache/storm/container/cgroup/CgroupCenter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storm-client/src/jvm/org/apache/storm/container/cgroup/CgroupCenter.java b/storm-client/src/jvm/org/apache/storm/container/cgroup/CgroupCenter.java index c49ffa3bfea..4265ebef5b4 100644 --- a/storm-client/src/jvm/org/apache/storm/container/cgroup/CgroupCenter.java +++ b/storm-client/src/jvm/org/apache/storm/container/cgroup/CgroupCenter.java @@ -97,7 +97,7 @@ public Set getSubSystems() { @Override public boolean isSubSystemEnabled(SubSystemType subSystemType) { Set subSystems = this.getSubSystems(); - if (subSystems != null){ + if (subSystems != null) { for (SubSystem subSystem : subSystems) { if (subSystem.getType() == subSystemType) { return true;