You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by dm...@apache.org on 2019/05/30 20:05:25 UTC
[ambari] branch branch-2.7 updated: AMBARI-25290. Custom timeout ignored, python script has been killed d… (#2992)
This is an automated email from the ASF dual-hosted git repository.
dmitriusan 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 fb64138 AMBARI-25290. Custom timeout ignored, python script has been killed d… (#2992)
fb64138 is described below
commit fb64138a7159a837aec846777a33169109fba9cf
Author: Lisnichenko Dmitro <dl...@hortonworks.com>
AuthorDate: Thu May 30 23:05:18 2019 +0300
AMBARI-25290. Custom timeout ignored, python script has been killed d… (#2992)
* 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 | 4 ++--
.../controller/internal/UpgradeResourceProvider.java | 4 ++--
.../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, 37 insertions(+), 37 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 e7a6430..3c185e7 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;
@@ -68,7 +68,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;
@@ -113,11 +113,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 30db434..c30a9b7 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
@@ -435,7 +435,7 @@ public class AmbariCustomCommandExecutionHelper {
commandParams.put(CUSTOM_COMMAND, commandName);
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 a78a947..c753e19 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
@@ -686,7 +686,7 @@ public class ClusterStackVersionResourceProvider extends AbstractControllerResou
INSTALL_PACKAGES_ACTION, Collections.singletonList(filter), roleParams);
actionContext.setStackId(repoVersion.getStackId());
- actionContext.setTimeout(Short.valueOf(configuration.getDefaultAgentTaskTimeout(true)));
+ actionContext.setTimeout(Integer.valueOf(configuration.getDefaultAgentTaskTimeout(true)));
repoVersionHelper.addCommandRepositoryToContext(actionContext, repoVersion, 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 fe72c53..dd87cda 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
@@ -445,7 +445,7 @@ public class HostStackVersionResourceProvider extends AbstractControllerResource
cluster.getClusterName(), INSTALL_PACKAGES_ACTION,
Collections.singletonList(filter),
roleParams);
- actionContext.setTimeout(Short.valueOf(configuration.getDefaultAgentTaskTimeout(true)));
+ actionContext.setTimeout(Integer.valueOf(configuration.getDefaultAgentTaskTimeout(true)));
actionContext.setStackId(repoVersionEnt.getStackId());
repoVersionHelper.addCommandRepositoryToContext(actionContext, repoVersionEnt, osEntity);
@@ -530,7 +530,7 @@ public class HostStackVersionResourceProvider extends AbstractControllerResource
cluster.getClusterName(), STACK_SELECT_ACTION,
Collections.singletonList(filter),
Collections.emptyMap());
- actionContext.setTimeout(Short.valueOf(configuration.getDefaultAgentTaskTimeout(true)));
+ actionContext.setTimeout(Integer.valueOf(configuration.getDefaultAgentTaskTimeout(true)));
try {
actionExecutionHelper.get().addExecutionCommandsToStage(actionContext, stage, null, !forceInstallOnNonMemberHost);
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 31cd926..43330df 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
@@ -1423,7 +1423,7 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider
ActionExecutionContext actionContext = buildActionExecutionContext(cluster, context,
Role.AMBARI_SERVER_ACTION.toString(), stackId, Collections.emptyList(),
- commandParams, group.allowRetry, Short.valueOf((short) -1));
+ commandParams, group.allowRetry, -1);
ExecuteCommandJson jsons = s_commandExecutionHelper.get().getCommandJson(actionContext,
cluster, context.getRepositoryVersion().getStackId(), null);
@@ -1649,7 +1649,7 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider
private ActionExecutionContext buildActionExecutionContext(Cluster cluster,
UpgradeContext context, String role, StackId stackId,
List<RequestResourceFilter> resourceFilters, Map<String, String> commandParams,
- boolean allowRetry, short timeout) {
+ boolean allowRetry, int timeout) {
ActionExecutionContext actionContext = new ActionExecutionContext(cluster.getClusterName(),
role, resourceFilters, commandParams);
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 369ef64..f7af619 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 dde2647..6421b9d 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
@@ -44,12 +44,12 @@ import org.slf4j.LoggerFactory;
* 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<>();
- private static final Short MAX_TIMEOUT = Short.MAX_VALUE-1;
+ private static final Integer MAX_TIMEOUT = Integer.MAX_VALUE-1;
static {
try {
@@ -112,9 +112,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)) {
@@ -138,7 +138,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 81c7ade..e7a19c2 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
@@ -191,7 +191,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<>();
@@ -200,20 +200,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 d70a38a..2ee98af 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
@@ -3942,11 +3942,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");
@@ -3999,7 +3999,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);
@@ -4319,23 +4319,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,
@@ -6080,7 +6080,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");
@@ -9856,7 +9856,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 e53c534..cf9e709 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
@@ -97,13 +97,13 @@ public class ActionResourceProviderTest {
List<ActionDefinition> allDefinition = new ArrayList<>();
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<>();
for (ActionDefinition definition : allDefinition) {
@@ -112,7 +112,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<>();
nameResponse.add(namedDefinition.convertToResponse());