HIVE-18263: Ptest execution are multiple times slower sometimes due to dying executor slaves (Adam Szita, reviewed by Barna Zsombor Klara)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/856d88db Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/856d88db Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/856d88db Branch: refs/heads/standalone-metastore Commit: 856d88db9a5c65c902ce6982710839e07d8548a9 Parents: e120bd8 Author: Peter Vary <pv...@cloudera.com> Authored: Fri Dec 15 10:11:51 2017 +0100 Committer: Peter Vary <pv...@cloudera.com> Committed: Fri Dec 15 10:11:51 2017 +0100 ---------------------------------------------------------------------- .../execution/context/CloudExecutionContextProvider.java | 11 +++++++++++ 1 file changed, 11 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/856d88db/testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/context/CloudExecutionContextProvider.java ---------------------------------------------------------------------- diff --git a/testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/context/CloudExecutionContextProvider.java b/testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/context/CloudExecutionContextProvider.java index 8b82497..e806563 100644 --- a/testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/context/CloudExecutionContextProvider.java +++ b/testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/context/CloudExecutionContextProvider.java @@ -223,6 +223,16 @@ public class CloudExecutionContextProvider implements ExecutionContextProvider { LOG.info("Attempting to create " + numRequired + " nodes"); try { result.addAll(mCloudComputeService.createNodes(Math.min(mMaxHostsPerCreateRequest, numRequired))); + + Set<String> newAddresses = new HashSet<String>(); + for (NodeMetadata node : result) { + newAddresses.addAll(node.getPublicAddresses()); + } + synchronized (mTerminatedHosts) { + for (String newAddress : newAddresses) { + mTerminatedHosts.remove(newAddress); + } + } } catch (RunNodesException e) { error = true; LOG.warn("Error creating nodes", e); @@ -332,6 +342,7 @@ public class CloudExecutionContextProvider implements ExecutionContextProvider { synchronized (mTerminatedHosts) { terminatedHosts.putAll(mTerminatedHosts); } + LOG.info("Currently tracked terminated hosts: {}", terminatedHosts.keySet().toString()); for (NodeMetadata node : getRunningNodes()) { String ip = publicIpOrHostname(node); if (terminatedHosts.containsKey(ip)) {