[
https://issues.apache.org/jira/browse/GUACAMOLE-1253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Starke Gardner updated GUACAMOLE-1253:
--------------------------------------
Description:
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:
{quote}
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';
{quote} #
##
###
{quote}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.{quote}
I truncated the name IN statement as there was a "?" for each of the 1500 users
two times in the select statement.
was:
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.
> 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
> Priority: Major
>
> 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:
> {quote}
> 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';
> {quote} #
> ##
> ###
> {quote}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.{quote}
> 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)