OpenIdentityPlatform / OpenAM

OpenAM is an open access management solution that includes Authentication, SSO, Authorization, Federation, Entitlements and Web Services Security.
https://www.openidentityplatform.org/openam
Other
766 stars 149 forks source link

CachingRealmLookup fix SynchronizedMap.get performance #696

Closed vharseko closed 8 months ago

vharseko commented 8 months ago
"http-nio-127.0.0.1-8080-exec-129" #1202 daemon prio=5 os_prio=0 tid=0x00007f6fcc080000 nid=0x28d0 waiting for monitor entry [0x00007f6e7f7cd000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at java.util.Collections$SynchronizedMap.get(Collections.java:2586)
        - locked <0x00000003ccf94850> (a java.util.Collections$SynchronizedMap)
        at org.forgerock.openam.core.realms.CachingRealmLookup.lookup(CachingRealmLookup.java:76)
        at com.sun.identity.idm.IdUtils.isOrganizationActive(IdUtils.java:489)
        at com.sun.identity.authentication.service.AuthD.getInetDomainStatus(AuthD.java:817)
        at com.sun.identity.authentication.service.LoginState.populateOrgProfile(LoginState.java:662)
        at com.sun.identity.authentication.service.LoginState.createAuthContext(LoginState.java:1779)
        at com.sun.identity.authentication.service.AuthUtils.getAuthContext(AuthUtils.java:263)