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.

Reply via email to