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 <[email protected]>
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
[email protected].