Skip to content

Performance: Loading all groups makes AdminUI unusable #1232

Closed

Description

@micbar

Initial Checklist

  • I understand this is a bug report and questions should be posted in the Community Discussions
  • I searched issues and couldn’t find anything (or linked relevant results below)

Bug Description

Description

The opencloud User and group management UI displays a lot of information. To gather that, we are doing very expensive queries to the backend, which makes the UI completely unusable.

Root causes

  1. https://cloud.keycloak-daily.opencloud.rocks/graph/v1.0/groups?%24orderby=displayName&%24expand=members when opening the User Management.
  2. Same expensive request to https://cloud.keycloak-daily.opencloud.rocks/graph/v1.0/groups?%24orderby=displayName&%24expand=members when opening the Group Management

These queries should be avoided. Fetching the groups is not problematic (1 sec or less) , but the expand=members kills it. That is only used to add a number to the groups in the list which does not add a lot of value because the assignments of a user can not be seen. We should avoid that in total.

The next problematic issue is the filter dropdown. The UX with more that 10 or 15 groups is not good. Imagine to have several thousand groups. Other UIs like the Keycloak UI use an autocomplete filter query field which scales better.

Reproduction Steps

  1. Create 50.000 users and 10.000 groups
  2. Browse to the Admin UI to "Users" or "Group" management
  3. White Screen, the Client does not respond within seconds.

Expected Outcome

The UI should be usable.

Actual Outcome

UI is not usable.

Activity

  1. tbsbdr commented on Sep 22, 2025

    @tbsbdr
    Member

    How is it solved by others?

    I'm not saying that this is the only way to go, just take it for inspiration:

    • pagination, initial view is limited to 25 items
    • No autosuggest
    • advanced search

    Groups

    Image Image

    Users

    Image
  2. micbar commented on Sep 22, 2025

    @micbar
    MemberAuthor

    Pagination is also a good idea, but requires more effort.

    I was just suggesting a pragmatic fix: "Do not display things we can afford to drop for the sake of enabling opencloud for large istallations"

  3. moved this from Qualification to Prio <= 3 in OpenCloud Team Boardon Nov 11, 2025
  4. JammingBen commented on Jul 17, 2026

    @JammingBen
    Member

    In the users list, I think we're fetching the groups only for the filter and for the "Add To/Remove from Groups"-action. So I guess we could stop fetching them initially and only do it when opening the filter or a filter is applied (which can also be the case initially because of the URL query params), or when using one of these actions.

    In the groups list, we would either need to kill the "Members" column, or the server can give the client a member count property via API.

  5. self-assigned this
    on Jul 27, 2026
  6. moved this from Prio <= 3 to In Progress in OpenCloud Team Boardon Jul 27, 2026
  7. JammingBen commented on Jul 27, 2026

    @JammingBen
    Member

    @micbar Are you 100% sure the request to /graph/v1.0/groups (+ expand) is what's taking so long?

    I did some tests with ~6000 users and groups. The request itself is still fast (milliseconds), and it shouldn't be blocking the UI. However, there is an issue in the UI table rendering process, causing all items to render initially, before rendering the paginated amount. I expect this to be the real issue for the slow loading and especially the unresponsiveness of the browser.

  8. JammingBen commented on Jul 29, 2026

    @JammingBen
    Member

    Fixed by #2958 and #2963

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions