You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ds...@apache.org on 2015/06/30 19:45:52 UTC
ambari git commit: AMBARI-12221 RU: Install Version on host fails
with 500 error (dsen)
Repository: ambari
Updated Branches:
refs/heads/trunk 416f60063 -> bf5fe282b
AMBARI-12221 RU: Install Version on host fails with 500 error (dsen)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/bf5fe282
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/bf5fe282
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/bf5fe282
Branch: refs/heads/trunk
Commit: bf5fe282be0348ff82c592baca2a1b0daea42408
Parents: 416f600
Author: Dmytro Sen <ds...@apache.org>
Authored: Tue Jun 30 20:45:24 2015 +0300
Committer: Dmytro Sen <ds...@apache.org>
Committed: Tue Jun 30 20:45:24 2015 +0300
----------------------------------------------------------------------
.../HostStackVersionResourceProvider.java | 27 +++++++++-----------
1 file changed, 12 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/bf5fe282/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java
----------------------------------------------------------------------
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 a44be9a..96460e4 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
@@ -248,7 +248,7 @@ public class HostStackVersionResourceProvider extends AbstractControllerResource
final String desiredRepoVersion;
String stackName;
String stackVersion;
- if (request.getProperties().size() != 1) {
+ if (request.getProperties().size() > 1) {
throw new UnsupportedOperationException("Multiple requests cannot be executed at the same time.");
}
@@ -296,7 +296,7 @@ public class HostStackVersionResourceProvider extends AbstractControllerResource
clusterSet = getManagementController().getClusters().getClustersForHost(hostName);
} catch (AmbariException e) {
throw new NoSuchParentResourceException(String.format((
- "Host %s does belong to any cluster"
+ "Host %s does not belong to any cluster"
), hostName), e);
}
} else {
@@ -311,21 +311,18 @@ public class HostStackVersionResourceProvider extends AbstractControllerResource
clusterSet = Collections.singleton(cluster);
}
- // Select all clusters that contain the desired repo version
- Set<Cluster> selectedClusters = new HashSet<Cluster>();
- for (Cluster cluster : clusterSet) {
- if (cluster.getCurrentStackVersion().equals(stackId)) {
- selectedClusters.add(cluster);
- }
- }
-
Cluster cluster;
- if (selectedClusters.size() != 1) {
- throw new UnsupportedOperationException(String.format("Host %s belongs to %d clusters " +
- "with stack id %s. Performing %s action on multiple clusters " +
- "is not supported", hostName, selectedClusters.size(), stackId, INSTALL_PACKAGES_FULL_NAME));
+ if (clusterSet.isEmpty()) {
+ throw new UnsupportedOperationException(String.format("Host %s belongs " +
+ "to 0 clusters with stack id %s. Performing %s action failed.",
+ hostName, stackId, INSTALL_PACKAGES_FULL_NAME));
+ } else if (clusterSet.size() > 1) {
+ throw new UnsupportedOperationException(String.format("Host %s belongs " +
+ "to %d clusters with stack id %s. Performing %s action on multiple " +
+ "clusters is not supported", hostName, clusterSet.size(), stackId,
+ INSTALL_PACKAGES_FULL_NAME));
} else {
- cluster = selectedClusters.iterator().next();
+ cluster = clusterSet.iterator().next();
}
RepositoryVersionEntity repoVersionEnt = repositoryVersionDAO.findByStackAndVersion(stackId, desiredRepoVersion);