You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jo...@apache.org on 2019/07/16 14:10:01 UTC
[ambari] branch branch-2.7 updated: AMBARI-25336 : Perf improvement
with Collections usages over iterations (branch-2.7) (#3049)
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 <vj...@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();