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) " +

Reply via email to