-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Description
Description
Keycloak should scale well with many groups. This includes to scale in:
- admin console group view when displaying groups
- admin console group view when searching for some groups (either top-level or subgroups of any level N)
- Other use-cases affecting end users
The use-cases above are considered to "scale" if all the HTTP requests sent to Keycloak (admin requests related to CRUD of groups or subgroups, login requests or account-console CRUD request of the end user, who is member of some groups or subgroups) are successfully finished in a reasonable time (possibly 2 seconds or less) without any UI screens or HTTP requests being "stucked" for a long time.
In particular, we need to support all cases of:
- Things should scale with top level 10K groups (already true in current Keycloak AFAIK)
- Things should scale with 100 top level groups and each having other 100 subgroups (so 10K groups totally)
- Things should scale with 10 top level groups, each having 10 subgroups, each level2 subgroup having another 10 subgroups and each level3 subgroup having another 10 subgroups (so again 10K groups totally).
Those are just examples, but 10K groups is not the definitive limit.
Main task is to have things working with groups stored in DB (old store). Lower priority is to scale also with groups in LDAP (or another user-storage providers).
### Tasks
- [ ] #19990
- [ ] #20489
- [ ] #19954
- [ ] https://github.com/keycloak/keycloak-benchmark/issues/471
- [ ] #17645
- [ ] #8430 (LDAP related, lower priority)
- [ ] https://github.com/keycloak/keycloak/issues/22372
- [ ] https://github.com/keycloak/keycloak/pull/22700
Motivation
No response