AMBARI-22062. Stack selection page does not load the HDP stacks (Redux) (ncole)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/dc419b4a Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/dc419b4a Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/dc419b4a Branch: refs/heads/branch-3.0-ams Commit: dc419b4a3940d514d714b27c06e641e69b586760 Parents: cb27cee Author: Nate Cole <nc...@hortonworks.com> Authored: Tue Sep 26 15:19:57 2017 -0400 Committer: Nate Cole <nc...@hortonworks.com> Committed: Tue Sep 26 15:20:02 2017 -0400 ---------------------------------------------------------------------- .../ambari/server/api/services/AmbariMetaInfo.java | 2 +- .../org/apache/ambari/server/stack/StackContext.java | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/dc419b4a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java index aad35a9..de84965 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java @@ -1348,7 +1348,7 @@ public class AmbariMetaInfo { /** * Ensures that the map of version definition files is populated */ - private void ensureVersionDefinitions() { + private synchronized void ensureVersionDefinitions() { if (null != versionDefinitions) { return; } http://git-wip-us.apache.org/repos/asf/ambari/blob/dc419b4a/ambari-server/src/main/java/org/apache/ambari/server/stack/StackContext.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/stack/StackContext.java b/ambari-server/src/main/java/org/apache/ambari/server/stack/StackContext.java index d430bb7..2992027 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/stack/StackContext.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/stack/StackContext.java @@ -61,7 +61,7 @@ public class StackContext { private LatestRepoQueryExecutor repoUpdateExecutor; private final static Logger LOG = LoggerFactory.getLogger(StackContext.class); - private static final int THREAD_COUNT = 5; + private static final int THREAD_COUNT = 10; /** @@ -167,7 +167,7 @@ public class StackContext { */ public void execute() { - long l = System.nanoTime(); + long currentTime = System.nanoTime(); List<Future<Map<StackModule, RepoUrlInfoResult>>> results = new ArrayList<>(); // !!! first, load the *_urlinfo.json files and block for completion @@ -177,7 +177,7 @@ public class StackContext { LOG.warn("Could not load urlinfo as the executor was interrupted", e); return; } finally { - LOG.info("Loaded urlinfo in " + TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - l) + "ms"); + LOG.info("Loaded urlinfo in " + TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - currentTime) + "ms"); } List<Map<StackModule, RepoUrlInfoResult>> urlInfoResults = new ArrayList<>(); @@ -190,6 +190,7 @@ public class StackContext { } } + currentTime = System.nanoTime(); for (Map<StackModule, RepoUrlInfoResult> urlInfoResult : urlInfoResults) { for (Entry<StackModule, RepoUrlInfoResult> entry : urlInfoResult.entrySet()) { StackModule stackModule = entry.getKey(); @@ -212,6 +213,14 @@ public class StackContext { } executor.shutdown(); + + try { + executor.awaitTermination(2, TimeUnit.MINUTES); + } catch (InterruptedException e) { + LOG.warn("Loading all VDF was interrupted", e.getCause()); + } finally { + LOG.info("Loaded all VDF in " + TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - currentTime) + "ms"); + } } /**