This is an automated email from the ASF dual-hosted git repository. jonathanhurley pushed a commit to branch branch-2.7 in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/branch-2.7 by this push: new aaee8f5 AMBARI-25336 : Perf improvement with Collections usages over iterations (branch-2.7) (#3049) aaee8f5 is described below commit aaee8f587ebc44ba76b1f79e34b833726b40a862 Author: Viraj Jasani <vjas...@salesforce.com> AuthorDate: Tue Jul 16 19:39:54 2019 +0530 AMBARI-25336 : Perf improvement with Collections usages over iterations (branch-2.7) (#3049) --- .../server/actionmanager/ActionDBAccessorImpl.java | 15 +++------------ .../apache/ambari/server/actionmanager/Stage.java | 6 +----- .../org/apache/ambari/server/state/StackInfo.java | 4 +--- .../server/state/alert/AlertDefinitionHash.java | 4 +--- .../ambari/server/state/cluster/ClusterImpl.java | 4 +--- .../ambari/server/state/stack/UpgradePack.java | 6 +----- .../apache/ambari/server/topology/Configuration.java | 10 ++-------- .../validators/ClusterConfigTypeValidatorTest.java | 20 +++++++++++++------- 8 files changed, 23 insertions(+), 46 deletions(-) diff --git a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java index 809e82b..329ecba 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java @@ -20,7 +20,6 @@ package org.apache.ambari.server.actionmanager; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; -import java.util.Comparator; import java.util.EnumSet; import java.util.HashMap; import java.util.HashSet; @@ -717,13 +716,10 @@ public class ActionDBAccessorImpl implements ActionDBAccessor { return Collections.emptyList(); } - List<HostRoleCommand> commands = new ArrayList<>(); - Map<Long, HostRoleCommand> cached = hostRoleCommandCache.getAllPresent(taskIds); - commands.addAll(cached.values()); + List<HostRoleCommand> commands = new ArrayList<>(cached.values()); - List<Long> absent = new ArrayList<>(); - absent.addAll(taskIds); + List<Long> absent = new ArrayList<>(taskIds); absent.removeAll(cached.keySet()); if (!absent.isEmpty()) { @@ -744,12 +740,7 @@ public class ActionDBAccessorImpl implements ActionDBAccessor { } } } - Collections.sort(commands, new Comparator<HostRoleCommand>() { - @Override - public int compare(HostRoleCommand o1, HostRoleCommand o2) { - return (int) (o1.getTaskId()-o2.getTaskId()); - } - }); + commands.sort((o1, o2) -> (int) (o1.getTaskId() - o2.getTaskId())); return commands; } diff --git a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/Stage.java b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/Stage.java index 420c04b..1efdcb3 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/Stage.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/Stage.java @@ -540,11 +540,7 @@ public class Stage { * @return list of hosts */ public synchronized List<String> getHosts() { // TODO: Check whether method should be synchronized - List<String> hlist = new ArrayList<>(); - for (String h : hostRoleCommands.keySet()) { - hlist.add(h); - } - return hlist; + return new ArrayList<>(hostRoleCommands.keySet()); } synchronized float getSuccessFactor(Role r) { diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java b/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java index c286532..b590283 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java @@ -223,9 +223,7 @@ public class StackInfo implements Comparable<StackInfo>, Validable { Collection<ExtensionInfo> extensions = getExtensions(); extensions.add(extension); Collection<ServiceInfo> services = getServices(); - for (ServiceInfo service : extension.getServices()) { - services.add(service); - } + services.addAll(extension.getServices()); } public void removeExtension(ExtensionInfo extension) { diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/alert/AlertDefinitionHash.java b/ambari-server/src/main/java/org/apache/ambari/server/state/alert/AlertDefinitionHash.java index d9edf1c..7e2e611 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/state/alert/AlertDefinitionHash.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/state/alert/AlertDefinitionHash.java @@ -416,9 +416,7 @@ public class AlertDefinitionHash { if (component.getValue().isMasterComponent()) { Map<String, ServiceComponentHost> componentHosts = component.getValue().getServiceComponentHosts(); if (null != componentHosts) { - for (String componentHost : componentHosts.keySet()) { - affectedHosts.add(componentHost); - } + affectedHosts.addAll(componentHosts.keySet()); } } } diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java index e46ff45..29a0700 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java @@ -1232,9 +1232,7 @@ public class ClusterImpl implements Cluster { try { List<Config> list = new ArrayList<>(); for (Entry<String, ConcurrentMap<String, Config>> entry : allConfigs.entrySet()) { - for (Config config : entry.getValue().values()) { - list.add(config); - } + list.addAll(entry.getValue().values()); } return Collections.unmodifiableList(list); } finally { diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java index 25778ee..fc24719 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java @@ -413,11 +413,7 @@ public class UpgradePack { } private List<Grouping> getDowngradeGroupsForNonrolling() { - List<Grouping> list = new ArrayList<>(); - for (Grouping g : groups) { - list.add(g); - } - return list; + return new ArrayList<>(groups); } /** diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/Configuration.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/Configuration.java index b709146..a9e0ce2 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/Configuration.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/Configuration.java @@ -353,14 +353,8 @@ public class Configuration { */ public Collection<String> getAllConfigTypes() { Collection<String> allTypes = new HashSet<>(); - for (String type : getFullProperties().keySet()) { - allTypes.add(type); - } - - for (String type : getFullAttributes().keySet()) { - allTypes.add(type); - } - + allTypes.addAll(getFullProperties().keySet()); + allTypes.addAll(getFullAttributes().keySet()); return allTypes; } diff --git a/ambari-server/src/test/java/org/apache/ambari/server/topology/validators/ClusterConfigTypeValidatorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/topology/validators/ClusterConfigTypeValidatorTest.java index c2fea1d..ccf0ecf 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/topology/validators/ClusterConfigTypeValidatorTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/topology/validators/ClusterConfigTypeValidatorTest.java @@ -96,8 +96,10 @@ public class ClusterConfigTypeValidatorTest extends EasyMockSupport { EasyMock.expect(blueprintMock.getServices()).andReturn(new HashSet<>(Arrays.asList("YARN", "HDFS"))); - EasyMock.expect(stackMock.getConfigurationTypes("HDFS")).andReturn(Arrays.asList("core-site")); - EasyMock.expect(stackMock.getConfigurationTypes("YARN")).andReturn(Arrays.asList("yarn-site")); + EasyMock.expect(stackMock.getConfigurationTypes("HDFS")).andReturn( + Collections.singletonList("core-site")); + EasyMock.expect(stackMock.getConfigurationTypes("YARN")).andReturn( + Collections.singletonList("yarn-site")); replayAll(); @@ -114,12 +116,14 @@ public class ClusterConfigTypeValidatorTest extends EasyMockSupport { // GIVEN // the config type that is not present in the stack definition for services - clusterRequestConfigTypes = new HashSet<>(Arrays.asList("oozie-site")); + clusterRequestConfigTypes = new HashSet<>(Collections.singletonList("oozie-site")); EasyMock.expect(clusterConfigurationMock.getAllConfigTypes()).andReturn(clusterRequestConfigTypes).anyTimes(); EasyMock.expect(blueprintMock.getServices()).andReturn(new HashSet<>(Arrays.asList("YARN", "HDFS"))); - EasyMock.expect(stackMock.getConfigurationTypes("HDFS")).andReturn(Arrays.asList("core-site")); - EasyMock.expect(stackMock.getConfigurationTypes("YARN")).andReturn(Arrays.asList("yarn-site")); + EasyMock.expect(stackMock.getConfigurationTypes("HDFS")).andReturn( + Collections.singletonList("core-site")); + EasyMock.expect(stackMock.getConfigurationTypes("YARN")).andReturn( + Collections.singletonList("yarn-site")); replayAll(); @@ -140,8 +144,10 @@ public class ClusterConfigTypeValidatorTest extends EasyMockSupport { EasyMock.expect(blueprintMock.getServices()).andReturn(new HashSet<>(Arrays.asList("YARN", "HDFS"))); - EasyMock.expect(stackMock.getConfigurationTypes("HDFS")).andReturn(Arrays.asList("core-site")); - EasyMock.expect(stackMock.getConfigurationTypes("YARN")).andReturn(Arrays.asList("yarn-site")); + EasyMock.expect(stackMock.getConfigurationTypes("HDFS")).andReturn( + Collections.singletonList("core-site")); + EasyMock.expect(stackMock.getConfigurationTypes("YARN")).andReturn( + Collections.singletonList("yarn-site")); replayAll();