[prev in list] [next in list] [prev in thread] [next in thread] 

List:       keycloak-user
Subject:    [keycloak-user] slow role search
From:       gideonray () gmail ! com (Gideon Caranzo)
Date:       2018-09-27 17:02:20
Message-ID: CAFTOGtee=DG_=dUiPu1t5gykef+t46zkQceq2dNXZ22p1ryAkg () mail ! gmail ! com
[Download RAW message or body]

Hi,

I'm running Keycloak with 1700 realms and API calls like getting a realm
now takes a lot of time. I profiled it and found that role checking is
causing the issue particularly *KeycloakModelUtils.searchFor(RoleModel
role, RoleModel composite, Set<String> visited)*.

I'm using a user with "admin" role to call get realm API. And since i have
1700 realms, "admin" role now have about 30K composite roles under it. The
line below from KeycloakModelUtils.searchFor() will load all 30K composite
roles causing the slow down.

        *Set<RoleModel> compositeRoles = composite.getComposites();*

Is there a way to avoid this issue? Or is it possible to fix the code such
that it will do a database query instead of searching in memory to check if
the role exist?

Thank you,
Gideon

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic