This is an automated email from the ASF dual-hosted git repository. mpapirkovskyy pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push: new 6bf1db2 AMBARI-23855. Topology cache on agent side is not actual after unsupported services removal during stack upgrade. (mpapirkovskyy) (#1279) 6bf1db2 is described below commit 6bf1db2438776fd9a17d9287c0acac6a428d07da Author: Myroslav Papirkovskyi <mpapirkovs...@apache.org> AuthorDate: Wed May 16 14:31:28 2018 +0300 AMBARI-23855. Topology cache on agent side is not actual after unsupported services removal during stack upgrade. (mpapirkovskyy) (#1279) --- .../alerts/AlertDefinitionsUIUpdateListener.java | 17 ++++++++++------- .../DeleteUnsupportedServicesAndComponents.java | 14 ++++++++++++-- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/alerts/AlertDefinitionsUIUpdateListener.java b/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/alerts/AlertDefinitionsUIUpdateListener.java index 06bfa9c..59ce006 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/alerts/AlertDefinitionsUIUpdateListener.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/alerts/AlertDefinitionsUIUpdateListener.java @@ -114,10 +114,11 @@ public class AlertDefinitionsUIUpdateListener { LOG.warn(msg, e); } } - - alertDefinitionsHolder.provideAlertDefinitionAgentUpdateEvent(UPDATE, event.getClusterId(), definitions, hostName); - Map<Long, AlertCluster> map = Collections.singletonMap(event.getClusterId(), new AlertCluster(definitions, hostName)); - STOMPUpdatePublisher.publish(new AlertDefinitionsUIUpdateEvent(UPDATE, map)); + if (!definitions.isEmpty()) { + alertDefinitionsHolder.provideAlertDefinitionAgentUpdateEvent(UPDATE, event.getClusterId(), definitions, hostName); + Map<Long, AlertCluster> map = Collections.singletonMap(event.getClusterId(), new AlertCluster(definitions, hostName)); + STOMPUpdatePublisher.publish(new AlertDefinitionsUIUpdateEvent(UPDATE, map)); + } } @Subscribe @@ -127,9 +128,11 @@ public class AlertDefinitionsUIUpdateListener { if (event.isMasterComponent()) { definitions.putAll(helper.get().findByServiceMaster(event.getClusterId(), event.getServiceName())); } - alertDefinitionsHolder.provideAlertDefinitionAgentUpdateEvent(DELETE, event.getClusterId(), definitions, hostName); - Map<Long, AlertCluster> map = Collections.singletonMap(event.getClusterId(), new AlertCluster(definitions, hostName)); - STOMPUpdatePublisher.publish(new AlertDefinitionsUIUpdateEvent(DELETE, map)); + if (!definitions.isEmpty()) { + alertDefinitionsHolder.provideAlertDefinitionAgentUpdateEvent(DELETE, event.getClusterId(), definitions, hostName); + Map<Long, AlertCluster> map = Collections.singletonMap(event.getClusterId(), new AlertCluster(definitions, hostName)); + STOMPUpdatePublisher.publish(new AlertDefinitionsUIUpdateEvent(DELETE, map)); + } } private void handleSingleDefinitionChange(AlertDefinitionEventType eventType, AlertDefinition alertDefinition) throws AmbariException { diff --git a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/DeleteUnsupportedServicesAndComponents.java b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/DeleteUnsupportedServicesAndComponents.java index 03fb281..c7edc27 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/DeleteUnsupportedServicesAndComponents.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/DeleteUnsupportedServicesAndComponents.java @@ -40,6 +40,7 @@ import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.ServiceComponent; import org.apache.ambari.server.state.ServiceComponentSupport; import org.apache.ambari.server.state.UpgradeContext; +import org.apache.ambari.server.topology.STOMPComponentsDeleteHandler; import org.apache.commons.lang.StringUtils; import com.google.inject.Inject; @@ -52,6 +53,9 @@ public class DeleteUnsupportedServicesAndComponents extends AbstractUpgradeServe @Inject private ServiceComponentSupport serviceComponentSupport; + @Inject + private STOMPComponentsDeleteHandler STOMPComponentsDeleteHandler; + @Override public CommandReport execute(ConcurrentMap<String, Object> requestSharedDataContext) throws AmbariException, InterruptedException { Cluster cluster = getClusters().getCluster(getExecutionCommand().getClusterName()); @@ -68,7 +72,10 @@ public class DeleteUnsupportedServicesAndComponents extends AbstractUpgradeServe private Set<String> deleteUnsupportedServices(Cluster cluster, RepositoryVersionEntity repoVersion) throws AmbariException { Set<String> servicesToBeRemoved = serviceComponentSupport.unsupportedServices(cluster, repoVersion.getStackName(), repoVersion.getStackVersion()); for (String serviceName : servicesToBeRemoved) { - cluster.deleteService(serviceName, new DeleteHostComponentStatusMetaData()); + DeleteHostComponentStatusMetaData deleteMetaData = new DeleteHostComponentStatusMetaData(); + cluster.deleteService(serviceName, deleteMetaData); + STOMPComponentsDeleteHandler.processDeleteByMetaDataException(deleteMetaData); + STOMPComponentsDeleteHandler.processDeleteByMetaData(deleteMetaData); deleteUpgradeHistory(cluster, history -> serviceName.equals(history.getServiceName())); } return servicesToBeRemoved; @@ -77,7 +84,10 @@ public class DeleteUnsupportedServicesAndComponents extends AbstractUpgradeServe private Set<String> deleteUnsupportedComponents(Cluster cluster, RepositoryVersionEntity repoVersion) throws AmbariException { Set<String> deletedComponents = new HashSet<>(); for (ServiceComponent component : serviceComponentSupport.unsupportedComponents(cluster, repoVersion.getStackName(), repoVersion.getStackVersion())) { - cluster.getService(component.getServiceName()).deleteServiceComponent(component.getName(), new DeleteHostComponentStatusMetaData()); + DeleteHostComponentStatusMetaData deleteMetaData = new DeleteHostComponentStatusMetaData(); + cluster.getService(component.getServiceName()).deleteServiceComponent(component.getName(), deleteMetaData); + STOMPComponentsDeleteHandler.processDeleteByMetaDataException(deleteMetaData); + STOMPComponentsDeleteHandler.processDeleteByMetaData(deleteMetaData); deleteUpgradeHistory(cluster, history -> component.getName().equals(history.getComponentName())); deletedComponents.add(component.getName()); } -- To stop receiving notification emails like this one, please contact mpapirkovs...@apache.org.