diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java index 9b5ffff778b..ddd180f4e60 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java @@ -70,6 +70,7 @@ import org.slf4j.LoggerFactory; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import com.google.inject.Inject; import com.google.inject.Injector; @@ -254,19 +255,6 @@ public Set getResources(Request request, Predicate predicate) return findResources(request, predicate, requests); } - private Set getResourcesForUpdate(Request request, Predicate predicate) - throws SystemException, UnsupportedPropertyException, NoSuchResourceException, NoSuchParentResourceException { - - final Set requests = new HashSet<>(); - - for (Map propertyMap : getPropertyMaps(predicate)) { - requests.add(getRequest(propertyMap)); - } - - return findResources(request, predicate, requests); - } - - private Set findResources(Request request, final Predicate predicate, final Set requests) throws SystemException, NoSuchResourceException, NoSuchParentResourceException { @@ -274,10 +262,6 @@ private Set findResources(Request request, final Predicate predicate, Set requestedIds = getRequestPropertyIds(request, predicate); // We always need host_name for sch requestedIds.add(HOST_COMPONENT_HOST_NAME_PROPERTY_ID); - requestedIds.add(HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID); - requestedIds.add(HOST_COMPONENT_COMPONENT_TYPE_PROPERTY_ID); - requestedIds.add(HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID); - requestedIds.add(HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID); Set responses = getResources(new Command>() { @Override @@ -844,12 +828,12 @@ private RequestStageContainer doUpdateResources(final RequestStageContainer stag final boolean runSmokeTest = "true".equals(getQueryParameterValue( QUERY_PARAMETERS_RUN_SMOKE_TEST_ID, predicate)); - Set queryIds = Collections.singleton(HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID); + Set queryIds = ImmutableSet.copyOf(keyPropertyIds.values()); Request queryRequest = PropertyHelper.getReadRequest(queryIds); // will take care of 404 exception - Set matchingResources = getResourcesForUpdate(queryRequest, predicate); + Set matchingResources = getResources(queryRequest, predicate); for (Resource queryResource : matchingResources) { //todo: predicate evaluation was removed for BUG-28737 and the removal of this breaks