GUACAMOLE-102: Continue to work on the load balancing code.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/d1259ef8 Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/d1259ef8 Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/d1259ef8 Branch: refs/heads/master Commit: d1259ef8dfe9cb7c65b3f3ff152b12820bf80134 Parents: 15869fe Author: Nick Couchman <[email protected]> Authored: Mon Mar 20 10:50:33 2017 -0400 Committer: Nick Couchman <[email protected]> Committed: Mon Jun 5 15:34:21 2017 -0400 ---------------------------------------------------------------------- .../guacamole/auth/jdbc/connection/ConnectionModel.java | 4 ++-- .../auth/jdbc/tunnel/RestrictedGuacamoleTunnelService.java | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/d1259ef8/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionModel.java ---------------------------------------------------------------------- diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionModel.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionModel.java index 91dd42c..56cf4ac 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionModel.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionModel.java @@ -175,8 +175,8 @@ public class ConnectionModel extends ChildObjectModel { * Sets the connection weight. * * @param connectionWeight - * The weight of the connection. null is acceptable, -1 indicates the - * connection should not be used. + * The weight of the connection. null is acceptable, negative values + * indicate that the connection should not be used. */ public void setConnectionWeight(Integer connectionWeight) { this.connectionWeight = connectionWeight; http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/d1259ef8/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/RestrictedGuacamoleTunnelService.java ---------------------------------------------------------------------- diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/RestrictedGuacamoleTunnelService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/RestrictedGuacamoleTunnelService.java index 8cc6605..3db47c6 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/RestrictedGuacamoleTunnelService.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/RestrictedGuacamoleTunnelService.java @@ -190,7 +190,11 @@ public class RestrictedGuacamoleTunnelService logger.debug("Calculating weights for connections {} and {}.", a.getName(), b.getName()); int cw = 0; int weightA = a.getConnectionWeight(); + if (weightA == null) + weightA = 0; int weightB = b.getConnectionWeight(); + if (weightB == null) + weightB = 0; int connsA = getActiveConnections(a).size(); int connsB = getActiveConnections(b).size(); logger.debug("Connection {} has computed weight of {}.", a.getName(), connsA * 10000 / weightA); @@ -208,8 +212,8 @@ public class RestrictedGuacamoleTunnelService // Return the first unreserved connection for (ModeledConnection connection : sortedConnections) { - // If connection weight is negative, this host is disabled and should not be used. - if (connection.getConnectionWeight() < 0) + // If connection weight is zero or negative, this host is disabled and should not be used. + if (connection.getConnectionWeight() < 1) continue; // Attempt to aquire connection according to per-user limits
