This is an automated email from the ASF dual-hosted git repository. dmitriusan pushed a commit to branch branch-2.6 in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/branch-2.6 by this push: new 8ee7c35 AMBARI-25290. backport for 2.6 - Custom timeout ignored, python script has been killed d… (#2994) 8ee7c35 is described below commit 8ee7c35cc3b08a0970822e0386fbc478b1fff28a Author: Lisnichenko Dmitro <dlysniche...@hortonworks.com> AuthorDate: Thu May 30 20:33:43 2019 +0300 AMBARI-25290. backport for 2.6 - Custom timeout ignored, python script has been killed d… (#2994) * AMBARI-25290. Custom timeout ignored, python script has been killed due to timeout after waiting 2700 secs during HDP upgrade (dlysnichenko) * AMBARI-25290. Custom timeout ignored, python script has been killed due to timeout after waiting 2700 secs during HDP upgrade - address review comment (dlysnichenko) --- .../server/controller/ActionExecutionContext.java | 8 ++++---- .../AmbariCustomCommandExecutionHelper.java | 2 +- .../ClusterStackVersionResourceProvider.java | 2 +- .../internal/HostStackVersionResourceProvider.java | 2 +- .../controller/internal/UpgradeResourceProvider.java | 2 +- .../server/customactions/ActionDefinition.java | 8 ++++---- .../customactions/ActionDefinitionManager.java | 10 +++++----- .../server/state/stack/upgrade/StageWrapper.java | 8 ++++---- .../controller/AmbariManagementControllerTest.java | 20 ++++++++++---------- .../internal/ActionResourceProviderTest.java | 8 ++++---- 10 files changed, 35 insertions(+), 35 deletions(-) diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/ActionExecutionContext.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/ActionExecutionContext.java index 207dbfb..a3ff165 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/ActionExecutionContext.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/ActionExecutionContext.java @@ -39,7 +39,7 @@ public class ActionExecutionContext { private RequestOperationLevel operationLevel; private Map<String, String> parameters; private TargetHostType targetType; - private Short timeout; + private Integer timeout; private String expectedServiceName; private String expectedComponentName; private boolean hostsInMaintenanceModeExcluded = true; @@ -61,7 +61,7 @@ public class ActionExecutionContext { public ActionExecutionContext(String clusterName, String actionName, List<RequestResourceFilter> resourceFilters, Map<String, String> parameters, TargetHostType targetType, - Short timeout, String expectedServiceName, + Integer timeout, String expectedServiceName, String expectedComponentName) { this.clusterName = clusterName; @@ -106,11 +106,11 @@ public class ActionExecutionContext { return targetType; } - public Short getTimeout() { + public Integer getTimeout() { return timeout; } - public void setTimeout(Short timeout) { + public void setTimeout(Integer timeout) { this.timeout = timeout; } diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java index dc3b08c..2b5be45 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java @@ -448,7 +448,7 @@ public class AmbariCustomCommandExecutionHelper { } boolean isInstallCommand = commandName.equals(RoleCommand.INSTALL.toString()); - int commandTimeout = Short.valueOf(configs.getDefaultAgentTaskTimeout(isInstallCommand)).intValue(); + int commandTimeout = Integer.valueOf(configs.getDefaultAgentTaskTimeout(isInstallCommand)); ComponentInfo componentInfo = ambariMetaInfo.getComponent( stackId.getStackName(), stackId.getStackVersion(), diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java index c21bd39..25cbcc6 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java @@ -745,7 +745,7 @@ public class ClusterStackVersionResourceProvider extends AbstractControllerResou roleParams); actionContext.setRepositoryVersion(repoVersion); - actionContext.setTimeout(Short.valueOf(configuration.getDefaultAgentTaskTimeout(true))); + actionContext.setTimeout(Integer.valueOf(configuration.getDefaultAgentTaskTimeout(true))); repoVersionHelper.addCommandRepositoryToContext(actionContext, osEntity); diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java index 3b22493..e08c74b 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java @@ -488,7 +488,7 @@ public class HostStackVersionResourceProvider extends AbstractControllerResource private ActionExecutionContext createActionExecutionContext(Cluster cluster, RepositoryVersionEntity repoVersionEntity, Map<String, String> roleParams, RequestResourceFilter filter, String action) { List<RequestResourceFilter> resourceFilters = Collections.singletonList(filter); ActionExecutionContext actionContext = new ActionExecutionContext(cluster.getClusterName(), action, resourceFilters, roleParams); - Short timeout = Short.valueOf(configuration.getDefaultAgentTaskTimeout(true)); + Integer timeout = Integer.valueOf(configuration.getDefaultAgentTaskTimeout(true)); actionContext.setTimeout(timeout); actionContext.setRepositoryVersion(repoVersionEntity); return actionContext; diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java index ed0248c..b706b9a 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java @@ -1348,7 +1348,7 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider Role.AMBARI_SERVER_ACTION.toString(), Collections.<RequestResourceFilter> emptyList(), commandParams); - actionContext.setTimeout(Short.valueOf((short) -1)); + actionContext.setTimeout(-1); actionContext.setRetryAllowed(group.allowRetry); actionContext.setAutoSkipFailures(context.isComponentFailureAutoSkipped()); diff --git a/ambari-server/src/main/java/org/apache/ambari/server/customactions/ActionDefinition.java b/ambari-server/src/main/java/org/apache/ambari/server/customactions/ActionDefinition.java index 02c469f..e77e1db 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/customactions/ActionDefinition.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/customactions/ActionDefinition.java @@ -36,7 +36,7 @@ public class ActionDefinition { private String targetComponent; private String description; private TargetHostType targetType; - private Short defaultTimeout; + private Integer defaultTimeout; private Set<RoleAuthorization> permissions; /** @@ -54,7 +54,7 @@ public class ActionDefinition { */ public ActionDefinition(String actionName, ActionType actionType, String inputs, String targetService, String targetComponent, String description, - TargetHostType targetType, Short defaultTimeout, Set<RoleAuthorization> permissions) { + TargetHostType targetType, Integer defaultTimeout, Set<RoleAuthorization> permissions) { setActionName(actionName); setActionType(actionType); setInputs(inputs); @@ -122,11 +122,11 @@ public class ActionDefinition { this.targetType = targetType; } - public Short getDefaultTimeout() { + public Integer getDefaultTimeout() { return defaultTimeout; } - public void setDefaultTimeout(Short defaultTimeout) { + public void setDefaultTimeout(Integer defaultTimeout) { this.defaultTimeout = defaultTimeout; } diff --git a/ambari-server/src/main/java/org/apache/ambari/server/customactions/ActionDefinitionManager.java b/ambari-server/src/main/java/org/apache/ambari/server/customactions/ActionDefinitionManager.java index efb950c..eac8551 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/customactions/ActionDefinitionManager.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/customactions/ActionDefinitionManager.java @@ -43,12 +43,12 @@ import java.util.Set; * Manages Action definitions read from XML files */ public class ActionDefinitionManager { - public static final Short MIN_TIMEOUT = 60; + public static final Integer MIN_TIMEOUT = 60; private final static Logger LOG = LoggerFactory .getLogger(ActionDefinitionManager.class); private static final Map<Class<?>, JAXBContext> _jaxbContexts = new HashMap<Class<?>, JAXBContext>(); - private static final Short MAX_TIMEOUT = Short.MAX_VALUE-1; + private static final Integer MAX_TIMEOUT = Integer.MAX_VALUE-1; static { try { @@ -111,9 +111,9 @@ public class ActionDefinitionManager { TargetHostType targetType = safeValueOf(TargetHostType.class, ad.getTargetType(), errorReason); ActionType actionType = safeValueOf(ActionType.class, ad.getActionType(), errorReason); - Short defaultTimeout = MIN_TIMEOUT; + Integer defaultTimeout = MIN_TIMEOUT; if (ad.getDefaultTimeout() != null && !ad.getDefaultTimeout().isEmpty()) { - defaultTimeout = Short.parseShort(ad.getDefaultTimeout()); + defaultTimeout = Integer.parseInt(ad.getDefaultTimeout()); } if (isValidActionDefinition(ad, actionType, defaultTimeout, errorReason)) { @@ -137,7 +137,7 @@ public class ActionDefinitionManager { } private boolean isValidActionDefinition(ActionDefinitionSpec ad, ActionType actionType, - Short defaultTimeout, StringBuilder reason) { + Integer defaultTimeout, StringBuilder reason) { if (isValidActionName(ad.getActionName(), reason)) { if (defaultTimeout < MIN_TIMEOUT || defaultTimeout > MAX_TIMEOUT) { diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java index 70589ec..123dbe0 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java @@ -190,7 +190,7 @@ public class StageWrapper { * this in. * @return the maximum timeout, or the default agent execution timeout if none are found. Never {@code null}. */ - public Short getMaxTimeout(Configuration configuration) { + public Integer getMaxTimeout(Configuration configuration) { Set<String> timeoutKeys = new HashSet<>(); @@ -199,20 +199,20 @@ public class StageWrapper { timeoutKeys.addAll(wrapper.getTimeoutKeys()); } - Short defaultTimeout = Short.valueOf(configuration.getDefaultAgentTaskTimeout(false)); + Integer defaultTimeout = Integer.valueOf(configuration.getDefaultAgentTaskTimeout(false)); if (CollectionUtils.isEmpty(timeoutKeys)) { return defaultTimeout; } - Short timeout = null; + Integer timeout = null; for (String key : timeoutKeys) { String configValue = configuration.getProperty(key); if (StringUtils.isNotBlank(configValue)) { try { - Short configTimeout = Short.valueOf(configValue); + Integer configTimeout = Integer.valueOf(configValue); if (null == timeout || configTimeout > timeout) { timeout = configTimeout; diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java index ab7d1ec..3c9c131 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java @@ -3939,11 +3939,11 @@ public class AmbariManagementControllerTest { ActionDefinition a1 = new ActionDefinition(actionDef1, ActionType.SYSTEM, - "test,[optional1]", "", "", "Does file exist", TargetHostType.SPECIFIC, Short.valueOf("100"), null); + "test,[optional1]", "", "", "Does file exist", TargetHostType.SPECIFIC, Integer.valueOf("100"), null); controller.getAmbariMetaInfo().addActionDefinition(a1); controller.getAmbariMetaInfo().addActionDefinition(new ActionDefinition( actionDef2, ActionType.SYSTEM, "", "HDFS", "DATANODE", "Does file exist", - TargetHostType.ALL, Short.valueOf("1000"), null)); + TargetHostType.ALL, Integer.valueOf("1000"), null)); Map<String, String> params = new HashMap<String, String>() {{ put("test", "test"); @@ -3996,7 +3996,7 @@ public class AmbariManagementControllerTest { Assert.assertEquals(requestProperties.get(REQUEST_CONTEXT_PROPERTY), response.getRequestContext()); // !!! test that the action execution helper is using the right timeout - a1.setDefaultTimeout((short) 1800); + a1.setDefaultTimeout(1800); actionRequest = new ExecuteActionRequest(cluster1, null, actionDef1, resourceFilters, null, params, false); response = controller.createAction(actionRequest, requestProperties); @@ -4316,23 +4316,23 @@ public class AmbariManagementControllerTest { controller.getAmbariMetaInfo().addActionDefinition(new ActionDefinition( actionDef1, ActionType.SYSTEM, "test,dirName", "", "", "Does file exist", - TargetHostType.SPECIFIC, Short.valueOf("100"), null)); + TargetHostType.SPECIFIC, Integer.valueOf("100"), null)); controller.getAmbariMetaInfo().addActionDefinition(new ActionDefinition( actionDef2, ActionType.SYSTEM, "", "HDFS", "DATANODE", "Does file exist", - TargetHostType.ANY, Short.valueOf("100"), null)); + TargetHostType.ANY, Integer.valueOf("100"), null)); controller.getAmbariMetaInfo().addActionDefinition(new ActionDefinition( "update_repo", ActionType.SYSTEM, "", "HDFS", "DATANODE", "Does file exist", - TargetHostType.ANY, Short.valueOf("100"), null)); + TargetHostType.ANY, Integer.valueOf("100"), null)); controller.getAmbariMetaInfo().addActionDefinition(new ActionDefinition( actionDef3, ActionType.SYSTEM, "", "MAPREDUCE", "MAPREDUCE_CLIENT", "Does file exist", - TargetHostType.ANY, Short.valueOf("100"), null)); + TargetHostType.ANY, Integer.valueOf("100"), null)); controller.getAmbariMetaInfo().addActionDefinition(new ActionDefinition( actionDef4, ActionType.SYSTEM, "", "HIVE", "", "Does file exist", - TargetHostType.ANY, Short.valueOf("100"), null)); + TargetHostType.ANY, Integer.valueOf("100"), null)); actionRequest = new ExecuteActionRequest(cluster1, null, actionDef1, null, null, null, false); expectActionCreationErrorWithMessage(actionRequest, requestProperties, @@ -6144,7 +6144,7 @@ public class AmbariManagementControllerTest { controller.getAmbariMetaInfo().addActionDefinition(new ActionDefinition( action1, ActionType.SYSTEM, "", "HDFS", "", "Some custom action.", - TargetHostType.ALL, Short.valueOf("10010"), null)); + TargetHostType.ALL, Integer.valueOf("10010"), null)); Map<String, String> params = new HashMap<String, String>() {{ put("test", "test"); @@ -9931,7 +9931,7 @@ public class AmbariManagementControllerTest { ambariMetaInfo.addActionDefinition(new ActionDefinition(action1, ActionType.SYSTEM, "", "", "", "action def description", TargetHostType.ANY, - Short.valueOf("60"), null)); + Integer.valueOf("60"), null)); Map<String, String> requestProperties = new HashMap<>(); requestProperties.put(REQUEST_CONTEXT_PROPERTY, "Called from a test"); diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActionResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActionResourceProviderTest.java index 01ae89b..41299de 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActionResourceProviderTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActionResourceProviderTest.java @@ -98,13 +98,13 @@ public class ActionResourceProviderTest { List<ActionDefinition> allDefinition = new ArrayList<ActionDefinition>(); allDefinition.add(new ActionDefinition( "a1", ActionType.SYSTEM, "fileName", "HDFS", "DATANODE", "Does file exist", TargetHostType.ANY, - Short.valueOf("100"), null)); + Integer.valueOf("100"), null)); allDefinition.add(new ActionDefinition( "a2", ActionType.SYSTEM, "fileName", "HDFS", "DATANODE", "Does file exist", TargetHostType.ANY, - Short.valueOf("100"), null)); + Integer.valueOf("100"), null)); allDefinition.add(new ActionDefinition( "a3", ActionType.SYSTEM, "fileName", "HDFS", "DATANODE", "Does file exist", TargetHostType.ANY, - Short.valueOf("100"), null)); + Integer.valueOf("100"), null)); Set<ActionResponse> allResponse = new HashSet<ActionResponse>(); for (ActionDefinition definition : allDefinition) { @@ -113,7 +113,7 @@ public class ActionResourceProviderTest { ActionDefinition namedDefinition = new ActionDefinition( "a1", ActionType.SYSTEM, "fileName", "HDFS", "DATANODE", "Does file exist", TargetHostType.ANY, - Short.valueOf("100"), null); + Integer.valueOf("100"), null); Set<ActionResponse> nameResponse = new HashSet<ActionResponse>(); nameResponse.add(namedDefinition.convertToResponse());