From 1a8075d62a67de2128d247727146712736d43516 Mon Sep 17 00:00:00 2001 From: Pedro Igor Date: Fri, 28 Jun 2024 10:54:55 -0300 Subject: [PATCH] Update migration and upgrade guides about GroupRemovedEvent no longer fired when removing a realm Closes #30919 Signed-off-by: Pedro Igor --- docs/documentation/release_notes/topics/26_0_0.adoc | 8 ++++++++ .../upgrading/topics/changes/changes-26_0_0.adoc | 11 +++++++++++ 2 files changed, 19 insertions(+) diff --git a/docs/documentation/release_notes/topics/26_0_0.adoc b/docs/documentation/release_notes/topics/26_0_0.adoc index aea7271123..ebfea56bec 100644 --- a/docs/documentation/release_notes/topics/26_0_0.adoc +++ b/docs/documentation/release_notes/topics/26_0_0.adoc @@ -23,6 +23,14 @@ Consequently, all caches are cleared when upgrading to this version. Infinispan Protostream is based on https://protobuf.dev/programming-guides/proto3/[Protocol Buffers] (proto 3), which has the advantage of backwards/forwards compatibility. += Group-related events no longer fired when removing a realm + +With the goal of improving the scalability of groups, they are now removed directly from the database when removing a realm. +As a consequence, group-related events like the `GroupRemovedEvent` are no longer fired when removing a realm. + +For information on how to migrate, see the link:{upgradingguide_link}[{upgradingguide_name}]. + + = Keycloak CR supports standard scheduling options The Keycloak CR now exposes first class properties for controlling the scheduling of your Keycloak Pods. diff --git a/docs/documentation/upgrading/topics/changes/changes-26_0_0.adoc b/docs/documentation/upgrading/topics/changes/changes-26_0_0.adoc index 0deaecab55..04932c94e8 100644 --- a/docs/documentation/upgrading/topics/changes/changes-26_0_0.adoc +++ b/docs/documentation/upgrading/topics/changes/changes-26_0_0.adoc @@ -21,6 +21,17 @@ This is an optimization to reduce traffic and network related resources. In {project_name} 26, the new method has a default implementation to keep backward compatibility with custom implementation. The default implementation performs a single network call per an event, and it will be removed in a future version of {project_name}. += Group-related events no longer fired when removing a realm + +With the goal of improving the scalability of groups, they are now removed directly from the database when removing a realm. +As a consequence, group-related events like the `GroupRemovedEvent` are no longer fired when removing a realm. + +If you have extensions handling any group-related event when a realm is removed, make sure to use the `RealmRemovedEvent` instead +to perform any cleanup or custom processing when a realm, and their groups, are removed. + +The `GroupProvider` interface is also updated with a new `preRemove(RealmModel)` method to force implementations to properly +handle the removal of groups when a realm is removed. + = Operator scheduling defaults Keycloak Pods will now have default affinities to prevent multiple instances from the same CR from being deployed on the same node, and all Pods from the same CR will prefer to be in the same zone to prevent stretch cache clusters.