Uploaded image for project: 'OpenAM'
  1. OpenAM
  2. OPENAM-5312

Initialization of a ServiceSchemaManager may block retrieval of already cached instances

    Details

    • Sprint:
      Sprint 76 - Sustaining
    • Support Ticket IDs:

      Description

      The initialization of the ServiceSchemaManager is done in a synchronized block, however this can involve a blocking LDAP operation. Unfortunately the retrieval of cached ServiceSchemaManager instances are synchronizing on the very same lock, which can easily mean that a hanging SSM initialization (due to operation timeout for example) can have a negative impact on the whole system.

      An example thread dump of such a behavior would be:

      "catalina-exec-3357" daemon prio=10 tid=0x00007fb7604c1800 nid=0x1293 waiting for monitor entry [0x00007fb74d763000]
      java.lang.Thread.State: BLOCKED (on object monitor)
      at java.util.Collections$SynchronizedMap.get(Collections.java:2037)
      - waiting to lock <0x00000006bceaa908> (a java.util.Collections$SynchronizedMap)
      at com.sun.identity.sm.ServiceSchemaManagerImpl.getInstance(ServiceSchemaManagerImpl.java:600)
      at com.sun.identity.sm.ServiceSchemaManager.<init>(ServiceSchemaManager.java:116)
      at com.sun.identity.sm.ServiceSchemaManager.<init>(ServiceSchemaManager.java:80)
      at com.sun.identity.authentication.service.AuthUtils.getAuthRevisionNumber(AuthUtils.java:1600)
      at com.sun.identity.authentication.config.AMAuthenticationManager.getAllowedModuleNames(AMAuthenticationManager.java:557)
      at com.sun.identity.authentication.service.LoginState.populateOrgProfile(LoginState.java:748)
      at com.sun.identity.authentication.service.LoginState.createAuthContext(LoginState.java:1874)
      at com.sun.identity.authentication.service.AuthUtils.getAuthContext(AuthUtils.java:280)
      at com.sun.identity.authentication.service.AuthUtils.getAuthContext(AuthUtils.java:180)
      at com.sun.identity.authentication.UI.LoginViewBean.forwardTo(LoginViewBean.java:413)
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                peter.major Peter Major [X] (Inactive)
                Reporter:
                peter.major Peter Major [X] (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: