Repository: cloudstack Updated Branches: refs/heads/master 69f239aff -> 1a719afb5
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 Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/1a719afb Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/1a719afb Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/1a719afb Branch: refs/heads/master Commit: 1a719afb516164915b973f548c37814b448f0349 Parents: 69f239a Author: Koushik Das <kous...@apache.org> Authored: Wed Apr 29 12:29:21 2015 +0530 Committer: Koushik Das <kous...@apache.org> Committed: Wed Apr 29 12:29:21 2015 +0530 ---------------------------------------------------------------------- .../cloud/network/router/VirtualNetworkApplianceManagerImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1a719afb/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 9407eff..ca99688 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<State, VirtualMachine.Event, VirtualMachine> { ScheduledExecutorService _checkExecutor; ScheduledExecutorService _networkStatsUpdateExecutor; ExecutorService _rvrStatusUpdateExecutor; + ExecutorService _rebootRouterExecutor; BlockingQueue<Long> _vrUpdateQueue = null; @@ -571,6 +572,7 @@ Configurable, StateListener<State, VirtualMachine.Event, VirtualMachine> { _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<State, VirtualMachine.Event, VirtualMachine> { // 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())); } } }