Github user necouchman commented on a diff in the pull request:
https://github.com/apache/incubator-guacamole-client/pull/161#discussion_r120201145
--- Diff:
extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/RestrictedGuacamoleTunnelService.java
---
@@ -180,8 +187,8 @@ protected ModeledConnection
acquire(RemoteAuthenticatedUser user,
@Override
public int compare(ModeledConnection a, ModeledConnection b) {
- return getActiveConnections(a).size()
- - getActiveConnections(b).size();
+ return ((getActiveConnections(a).size() + 1) *
b.getConnectionWeight() -
--- End diff --
Okay, so a couple of follow-up questions:
- How much does it actually mess up the math? Since basically all we're
doing is sorting the array based on the sign and an integer value, does it
actually mess up the calculation enough to even throw off the sorting?
- Is it a lose-lose situation? I'm trying to think of another way to run
the calculation so as to account for zero connections but not throw off the
math, and nothing is come to mind. Is it simply a case where we have to choose
one path or the other, and accept that one of the cases is going to be flawed?
- If there isn't a way to resolve it so that both cases work, any
preferences on which one to stick with the win on? I would assume we'd want to
ignore the 0 connection case in favor of the other ones being correct (if it
matters enough to worry about it), but any reason we'd want 0 to be correct
over lower connection counts?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---