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();
 

Reply via email to