Updated Branches: refs/heads/master 77520e0bc -> daeac9ec5
CLOUDSTACK-215 CPVM load balance didn't work, VNC console sessions go to one CPVM and ignore other CPVMs Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/daeac9ec Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/daeac9ec Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/daeac9ec Branch: refs/heads/master Commit: daeac9ec5764732f75859b8b823dc717ebc66dac Parents: 77520e0 Author: Mice Xia <[email protected]> Authored: Thu Sep 27 13:03:09 2012 +0800 Committer: Mice Xia <[email protected]> Committed: Thu Sep 27 13:03:09 2012 +0800 ---------------------------------------------------------------------- .../consoleproxy/ConsoleProxyManagerImpl.java | 8 ++++++++ .../src/com/cloud/vm/dao/ConsoleProxyDaoImpl.java | 2 +- 2 files changed, 9 insertions(+), 1 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/daeac9ec/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java index a7f1c83..d7875f7 100755 --- a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java +++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java @@ -21,6 +21,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.Enumeration; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Random; @@ -658,6 +659,13 @@ public class ConsoleProxyManagerImpl implements ConsoleProxyManager, ConsoleProx assert (allocator != null); List<ConsoleProxyVO> runningList = _consoleProxyDao.getProxyListInStates(dataCenterId, State.Running); if (runningList != null && runningList.size() > 0) { + Iterator<ConsoleProxyVO> it = runningList.iterator(); + while (it.hasNext()) { + ConsoleProxyVO proxy = it.next(); + if(proxy.getActiveSession() >= _capacityPerProxy){ + it.remove(); + } + } if (s_logger.isTraceEnabled()) { s_logger.trace("Running proxy pool size : " + runningList.size()); for (ConsoleProxyVO proxy : runningList) { http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/daeac9ec/server/src/com/cloud/vm/dao/ConsoleProxyDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/vm/dao/ConsoleProxyDaoImpl.java b/server/src/com/cloud/vm/dao/ConsoleProxyDaoImpl.java index 8713a3d..e0d113d 100644 --- a/server/src/com/cloud/vm/dao/ConsoleProxyDaoImpl.java +++ b/server/src/com/cloud/vm/dao/ConsoleProxyDaoImpl.java @@ -90,7 +90,7 @@ public class ConsoleProxyDaoImpl extends GenericDaoBase<ConsoleProxyVO, Long> im private static final String GET_PROXY_ACTIVE_LOAD = "SELECT active_session AS count" + " FROM console_proxy" + - " WHERE proxy_id=?"; + " WHERE id=?"; private static final String STORAGE_POOL_HOST_INFO = "SELECT p.data_center_id, count(ph.host_id) " +
