From 1a719afb516164915b973f548c37814b448f0349 Mon Sep 17 00:00:00 2001 From: Koushik Das Date: Wed, 29 Apr 2015 12:29:21 +0530 Subject: [PATCH] CLOUDSTACK-8426: Use a separate thread pool for VR reboot in case of out-of-band movement Using a cached thread pool for VR reboot task --- .../network/router/VirtualNetworkApplianceManagerImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 9407eff7551..ca9968853b5 100644 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -405,6 +405,7 @@ Configurable, StateListener { ScheduledExecutorService _checkExecutor; ScheduledExecutorService _networkStatsUpdateExecutor; ExecutorService _rvrStatusUpdateExecutor; + ExecutorService _rebootRouterExecutor; BlockingQueue _vrUpdateQueue = null; @@ -571,6 +572,7 @@ Configurable, StateListener { _executor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("RouterMonitor")); _checkExecutor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("RouterStatusMonitor")); _networkStatsUpdateExecutor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("NetworkStatsUpdater")); + _rebootRouterExecutor = Executors.newCachedThreadPool(new NamedThreadFactory("RebootRouterTask")); VirtualMachine.State.getStateMachine().registerListener(this); @@ -2632,7 +2634,7 @@ Configurable, StateListener { // 2. If VM is in running state in CS and there is a 'PowerOn' report from new host if (hostId == null || hostId.longValue() != powerHostId.longValue()) { s_logger.info("Schedule a router reboot task as router " + vo.getId() + " is powered-on out-of-band, need to reboot to refresh network rules"); - _executor.schedule(new RebootTask(vo.getId()), 1000, TimeUnit.MICROSECONDS); + _rebootRouterExecutor.execute(new RebootTask(vo.getId())); } } }