diff --git a/src/main/java/org/opensearch/security/securityconf/ConfigModelV7.java b/src/main/java/org/opensearch/security/securityconf/ConfigModelV7.java index a30eda73ba..31bf626c7b 100644 --- a/src/main/java/org/opensearch/security/securityconf/ConfigModelV7.java +++ b/src/main/java/org/opensearch/security/securityconf/ConfigModelV7.java @@ -292,7 +292,10 @@ private Set map(final User user, final TransportAddress caller) { return Collections.emptySet(); } - final Set securityRoles = new HashSet<>(user.getSecurityRoles()); + final Set securityRoles = new HashSet<>(); + synchronized (user.getSecurityRoles()) { + securityRoles.addAll(user.getSecurityRoles()); + } if (rolesMappingResolution == ConfigConstants.RolesMappingResolution.BOTH || rolesMappingResolution == ConfigConstants.RolesMappingResolution.BACKENDROLES_ONLY) {