Fix NPE when accessing group concurrently

Closes #40368

# Conflicts:
#	tests/base/src/test/java/org/keycloak/tests/admin/group/GroupTest.java

Signed-off-by: vramik <vramik@redhat.com>
This commit is contained in:
vramik
2025-07-04 21:18:27 +02:00
committed by Pedro Igor
parent f3105e717e
commit 3121b9d334
3 changed files with 3 additions and 11 deletions

View File

@@ -259,7 +259,8 @@ public class GroupAdapter implements GroupModel {
@Override
public Long getSubGroupsCount() {
if (isUpdated()) return updated.getSubGroupsCount();
return getGroupModel().getSubGroupsCount();
GroupModel model = modelSupplier.get();
return model == null ? null : model.getSubGroupsCount();
}
@Override

View File

@@ -56,6 +56,7 @@ public class CachedGroup extends AbstractRevisioned implements InRealm {
this.type = group.getType();
}
@Override
public String getRealm() {
return realm;
}

View File

@@ -90,14 +90,4 @@ public class GroupUtils {
rep.setAccess(groupsEvaluator.getAccess(groupTree));
return rep;
}
private static boolean groupMatchesSearchOrIsPathElement(GroupModel group, String search) {
if (StringUtil.isBlank(search)) {
return true;
}
if (group.getName().contains(search)) {
return true;
}
return group.getSubGroupsStream().findAny().isPresent();
}
}