This is an automated email from the ASF dual-hosted git repository.
adoroszlai pushed a commit to branch branch-feature-AMBARI-14714
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/branch-feature-AMBARI-14714 by
this push:
new 753f41d AMBARI-23746. Host components request fails due to missing
component ID (#1265)
753f41d is described below
commit 753f41dfc01b9fcf698c684c7b96807e191e10d6
Author: Doroszlai, Attila <[email protected]>
AuthorDate: Tue May 15 14:21:37 2018 +0200
AMBARI-23746. Host components request fails due to missing component ID
(#1265)
---
.../controller/AmbariManagementControllerImpl.java | 23 +++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)
diff --git
a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
index d244358..f601c83 100644
---
a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
+++
b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
@@ -242,9 +242,11 @@ import org.apache.http.client.utils.URIBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.base.Strings;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import com.google.common.collect.ArrayListMultimap;
+import com.google.common.collect.ImmutableList;
import com.google.common.collect.Multimap;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
@@ -1396,6 +1398,16 @@ public class AmbariManagementControllerImpl implements
AmbariManagementControlle
}
}
+ if (request.getComponentId() != null) {
+ Service service =
cluster.getServiceByComponentId(request.getComponentId());
+ if (Strings.isNullOrEmpty(request.getServiceGroupName())) {
+ request.setServiceGroupName(service.getServiceGroupName());
+ }
+ if (Strings.isNullOrEmpty(request.getServiceName())) {
+ request.setServiceName(service.getName());
+ }
+ }
+
if (request.getComponentName() != null) {
if (StringUtils.isBlank(request.getServiceName())) {
@@ -1418,12 +1430,13 @@ public class AmbariManagementControllerImpl implements
AmbariManagementControlle
}
}
-
request.setServiceGroupName(cluster.getServiceByComponentId(request.getComponentId()).getServiceGroupName());
- List<Service> services = new ArrayList<>();
- if (request.getServiceName() != null &&
!request.getServiceName().isEmpty()) {
- services.add(cluster.getService(request.getServiceName()));
+ List<Service> services;
+ if (!Strings.isNullOrEmpty(request.getServiceName())) {
+ services =
ImmutableList.of(cluster.getService(request.getServiceName()));
+ } else if (!Strings.isNullOrEmpty(request.getServiceGroupName())) {
+ services =
ImmutableList.copyOf(cluster.getServicesByServiceGroup(request.getServiceGroupName()));
} else {
-
services.addAll(cluster.getServicesByServiceGroup(request.getServiceGroupName()));
+ services = ImmutableList.copyOf(cluster.getServices().values());
}
Set<ServiceComponentHostResponse> response =
--
To stop receiving notification emails like this one, please contact
[email protected].