You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@guacamole.apache.org by "Michael Jumper (JIRA)" <ji...@apache.org> on 2016/08/19 04:42:20 UTC

[jira] [Commented] (GUACAMOLE-76) Retrieval of connection group tree too slow

    [ https://issues.apache.org/jira/browse/GUACAMOLE-76?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15427623#comment-15427623 ] 

Michael Jumper commented on GUACAMOLE-76:
-----------------------------------------

The breadth-first query is happening correctly - the slowness is due to getConnectionIdentifiers(), getConnectionGroupIdentifiers(), and getSharingProfileIdentifiers() each executing a new query. This is exacerbated by virtually each connection having sharing profiles, and probably wasn't noticed before due to connection groups not being very commonly used.

Though N objects can be retrieved from the directories in batch, with one query, retrieving child objects will result in one query per, thus the classic N+1 problem.

> Retrieval of connection group tree too slow
> -------------------------------------------
>
>                 Key: GUACAMOLE-76
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-76
>             Project: Guacamole
>          Issue Type: Bug
>          Components: guacamole, guacamole-auth-jdbc
>            Reporter: Michael Jumper
>            Assignee: Michael Jumper
>            Priority: Blocker
>             Fix For: 0.9.10-incubating
>
>         Attachments: tree-too-slow.png
>
>
> With the addition of sharing profiles to the connection group tree query, requests to retrieve the tree take far too long. The connection group tree REST resource is supposed to make an efficient breadth-first search of the tree space, with a very limited number of queries, but this is clearly not happening:
> !tree-too-slow.png|width=100%!
> It may be that the retrieval algorithm of the tree resource is simply incorrect and needs adjusting, but something is odd.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)