You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@guacamole.apache.org by mj...@apache.org on 2017/06/07 00:32:23 UTC
[03/28] incubator-guacamole-client git commit: GUACAMOLE-102: Remove
some extra debugging code, and continue to tweak the WLC algorithm.
GUACAMOLE-102: Remove some extra debugging code, and continue to tweak the WLC algorithm.
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/15869fef
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/15869fef
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/15869fef
Branch: refs/heads/master
Commit: 15869fef0d300c8a48e9ac91e6862a9d3c9fb837
Parents: 83a8e82
Author: Nick Couchman <vn...@apache.org>
Authored: Mon Mar 20 09:55:41 2017 -0400
Committer: Nick Couchman <ni...@yahoo.com>
Committed: Mon Jun 5 15:34:21 2017 -0400
----------------------------------------------------------------------
.../tunnel/RestrictedGuacamoleTunnelService.java | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/15869fef/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 ae7a059..8cc6605 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
@@ -173,16 +173,13 @@ public class RestrictedGuacamoleTunnelService
protected ModeledConnection acquire(RemoteAuthenticatedUser user,
List<ModeledConnection> connections) throws GuacamoleException {
- logger.trace("Attempting to acquire a connection...");
// Do not acquire connection unless within overall limits
if (!tryIncrement(totalActiveConnections, environment.getAbsoluteMaxConnections()))
throw new GuacamoleResourceConflictException("Cannot connect. Overall maximum connections reached.");
// Get username
String username = user.getIdentifier();
- logger.trace("Username is: {}", username);
- logger.trace("Sorting {} connections.", connections.size());
// Sort connections in ascending order of usage
ModeledConnection[] sortedConnections = connections.toArray(new ModeledConnection[connections.size()]);
Arrays.sort(sortedConnections, new Comparator<ModeledConnection>() {
@@ -190,12 +187,14 @@ public class RestrictedGuacamoleTunnelService
@Override
public int compare(ModeledConnection a, ModeledConnection b) {
- logger.trace("Comparing {} to {}.", a.getName(), b.getName());
+ logger.debug("Calculating weights for connections {} and {}.", a.getName(), b.getName());
int cw = 0;
int weightA = a.getConnectionWeight();
int weightB = b.getConnectionWeight();
int connsA = getActiveConnections(a).size();
int connsB = getActiveConnections(b).size();
+ logger.debug("Connection {} has computed weight of {}.", a.getName(), connsA * 10000 / weightA);
+ logger.debug("Connection {} has computed weight of {}.", b.getName(), connsB * 10000 / weightB);
return (connsA * 10000 / weightA) - (connsB * 10000 / weightB);
@@ -209,19 +208,20 @@ 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)
+ continue;
+
// Attempt to aquire connection according to per-user limits
- logger.trace("Trying to grab a seat on this train: {}", connection.getName());
Seat seat = new Seat(username, connection.getIdentifier());
if (tryAdd(activeSeats, seat,
connection.getMaxConnectionsPerUser())) {
- logger.trace("Got a seat, trying to get the connection...");
// Attempt to aquire connection according to overall limits
if (tryAdd(activeConnections, connection.getIdentifier(),
connection.getMaxConnections()))
return connection;
- logger.trace("Uh-oh, failed to get the connection...");
// Acquire failed - retry with next connection
activeSeats.remove(seat);
@@ -232,7 +232,6 @@ public class RestrictedGuacamoleTunnelService
}
- logger.trace("Well, we failed to get a seat at all...");
// Acquire failed
totalActiveConnections.decrementAndGet();