This is an automated email from the ASF dual-hosted git repository. sureshanaparti pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/main by this push: new 712492230ae Shutdown MS maintenance jobs when finished (#11330) 712492230ae is described below commit 712492230ae6149cbd06f7674ed0b7a4c9881e69 Author: Suresh Kumar Anaparti <sureshkumar.anapa...@gmail.com> AuthorDate: Thu Jul 31 10:00:29 2025 +0530 Shutdown MS maintenance jobs when finished (#11330) --- agent/src/main/java/com/cloud/agent/Agent.java | 4 +++- .../maintenance/ManagementServerMaintenanceManagerImpl.java | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/agent/src/main/java/com/cloud/agent/Agent.java b/agent/src/main/java/com/cloud/agent/Agent.java index b7c24e5126c..a1834b6827b 100644 --- a/agent/src/main/java/com/cloud/agent/Agent.java +++ b/agent/src/main/java/com/cloud/agent/Agent.java @@ -968,9 +968,11 @@ public class Agent implements HandlerFactory, IAgentControl, AgentStatusUpdater if (CollectionUtils.isNotEmpty(cmd.getMsList())) { processManagementServerList(cmd.getMsList(), cmd.getAvoidMsList(), cmd.getLbAlgorithm(), cmd.getLbCheckInterval(), false); } - Executors.newSingleThreadScheduledExecutor(new NamedThreadFactory("MigrateAgentConnection-Job")).schedule(() -> { + ScheduledExecutorService migrateAgentConnectionService = Executors.newSingleThreadScheduledExecutor(new NamedThreadFactory("MigrateAgentConnection-Job")); + migrateAgentConnectionService.schedule(() -> { migrateAgentConnection(cmd.getAvoidMsList()); }, 3, TimeUnit.SECONDS); + migrateAgentConnectionService.shutdown(); } catch (Exception e) { String errMsg = "Migrate agent connection failed, due to " + e.getMessage(); logger.debug(errMsg, e); diff --git a/plugins/maintenance/src/main/java/org/apache/cloudstack/maintenance/ManagementServerMaintenanceManagerImpl.java b/plugins/maintenance/src/main/java/org/apache/cloudstack/maintenance/ManagementServerMaintenanceManagerImpl.java index 16cf14e1fb1..516ed40d48b 100644 --- a/plugins/maintenance/src/main/java/org/apache/cloudstack/maintenance/ManagementServerMaintenanceManagerImpl.java +++ b/plugins/maintenance/src/main/java/org/apache/cloudstack/maintenance/ManagementServerMaintenanceManagerImpl.java @@ -622,6 +622,7 @@ public class ManagementServerMaintenanceManagerImpl extends ManagerBase implemen ManagementServerHostVO msHost = msHostDao.findByMsid(ManagementServerNode.getManagementServerId()); if (msHost == null) { logger.warn("Unable to find the management server, invalid node id"); + managementServerMaintenanceManager.cancelWaitForPendingJobs(); return; } msHostDao.updateState(msHost.getId(), State.Maintenance); @@ -658,6 +659,7 @@ public class ManagementServerMaintenanceManagerImpl extends ManagerBase implemen ManagementServerHostVO msHost = msHostDao.findByMsid(ManagementServerNode.getManagementServerId()); if (msHost == null) { logger.warn("Unable to find the management server, invalid node id"); + managementServerMaintenanceManager.cancelWaitForPendingJobs(); return; } if (totalAgents == 0) { @@ -693,6 +695,7 @@ public class ManagementServerMaintenanceManagerImpl extends ManagerBase implemen ManagementServerHostVO msHost = msHostDao.findByMsid(ManagementServerNode.getManagementServerId()); if (msHost == null) { logger.warn("Unable to find the management server, invalid node id"); + managementServerMaintenanceManager.cancelWaitForPendingJobs(); return; } msHostDao.updateState(msHost.getId(), State.ReadyToShutDown);