diff --git a/docs/documentation/server_admin/topics/users/user-profile.adoc b/docs/documentation/server_admin/topics/users/user-profile.adoc index 0c2c30cbad..d2f13fc2d6 100644 --- a/docs/documentation/server_admin/topics/users/user-profile.adoc +++ b/docs/documentation/server_admin/topics/users/user-profile.adoc @@ -117,6 +117,11 @@ As you will see in the following sections, you can also restrict the audience fo For unmanaged attributes, the maximum length is 2048 characters. To specify a different minimum or maximum length, change the unmanaged attribute to a managed attribute and add a `length` validator. +WARNING: {project_name} caches user-related objects in its internal caches. +The longer the attributes are, the more memory the cache consumes. +Therefore, limiting the size of the length attributes is recommended. +Consider storing large objects outside Keycloak and reference them by ID or URL. + == Managing the User Profile The user profile configuration is managed on a per-realm basis. For that, click on the diff --git a/docs/documentation/upgrading/topics/keycloak/changes-24_0_0.adoc b/docs/documentation/upgrading/topics/keycloak/changes-24_0_0.adoc index 1b3bda81c1..3459e4764e 100644 --- a/docs/documentation/upgrading/topics/keycloak/changes-24_0_0.adoc +++ b/docs/documentation/upgrading/topics/keycloak/changes-24_0_0.adoc @@ -268,6 +268,11 @@ Ensure that no unmanaged attributes are allowed and all editable attributes have For unmanaged attributes, the maximum length is 2048 characters. For managed attributes, the default maximum length is 2048 characters. Administrator can change this by adding a validator of type `length`. +WARNING: {project_name} caches user-related objects in its internal caches. +The longer the attributes are, the more memory the cache consumes. +Therefore, limiting the size of the length attributes is recommended. +Consider storing large objects outside Keycloak and reference them by ID or URL. + This change adds new indexes on the tables `USER_ATTRIBUTE` and `FED_USER_ATTRIBUTE`. If those tables contain more than 300000 entries, Keycloak will skip the index creation by default during the automatic schema migration and instead log the SQL statement on the console during migration to be applied manually after {project_name}'s startup. See the link:{upgradingguide_link}[{upgradingguide_name}] for details on how to configure a different limit.