You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@guacamole.apache.org by "Starke Gardner (Jira)" <ji...@apache.org> on 2021/01/06 14:09:00 UTC

[jira] [Created] (GUACAMOLE-1253) Hitting 2100 SQLServer query parameter limit with large user base

Starke Gardner created GUACAMOLE-1253:
-----------------------------------------

             Summary: Hitting 2100 SQLServer query parameter limit with large user base
                 Key: GUACAMOLE-1253
                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-1253
             Project: Guacamole
          Issue Type: Bug
          Components: guacamole, guacamole-auth-jdbc-sqlserver
    Affects Versions: 1.3.0
         Environment: docker
            Reporter: Starke Gardner


We have a large user count ~1500 and use Sqlserver. When trying to load the user settings on the web interface the page will never load and we get this error:
SELECT [guacamole_user].user_id, [guacamole_entity].entity_id, [guacamole_entity].name, password_hash, password_salt, 
 password_date, disabled, expired, access_window_start, access_window_end, valid_from, valid_until, 
 timezone, full_name, email_address, organization, organizational_role, ( SELECT MAX(start_date) 
FROM [guacamole_user_history] WHERE [guacamole_user_history].user_id = [guacamole_user].user_id ) AS last_active FROM [guacamole_user] JOIN [guaca
mole_entity] ON [guacamole_user].entity_id = [guacamole_entity].entity_id WHERE [guacamole_entity].name IN ( ? , ? 
 , ? ,.......... ? ) AND [guacamole_entity].type = 'USER'; SELECT 
 [guacamole_user_attribute].user_id, [guacamole_user_attribute].attribute_name, [guacamole_user_attribute].attribute_value FROM [guacamole_user_att
ribute] JOIN [guacamole_user] ON [guacamole_user].user_id = [guacamole_user_attribute].user_id JOIN [guacamole_entity] ON [guacamole_user].entity_id = [guacamole_entity].enti
ty_id WHERE [guacamole_entity].name IN ( ? , ? ,........ ? ) AND [guacamole_entity].type = 'USER';
### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: The incoming request has too many parameters. The server supports a maximum of 2100 parameters. Reduce the number of parameters an
d resend the request.

I truncated the name IN statement as there was a "?" for each of the 1500 users two times in the select statement.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)