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

SMSEmbeddedLdapObject initialization fails the first time with an NPE

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 6.0.0
    • Fix Version/s: 6.0.0, 5.5.2
    • Component/s: sms
    • Labels:
      None
    • Target Version/s:
    • Needs backport:
      Yes
    • Needs QA verification:
      No
    • Functional tests:
      No
    • Are the reproduction steps defined?:
      Yes and I used the same an in the description

      Description

      Bug description

      During AM's bootstrap process SMSEntry tries to initialize the SMSObject implementation to be used. In case of using the embedded configuration store, this will however fail with an NPE. This is because SMSObject is initialized from SMSEntry's static initializer and SMSEmbeddedLdapObject refers to constants in SMSEntry class that have not been initialized just yet (because the constants are defined below the static init).

      When this error happens, AM will fall back first to SMSLdapObject, and later on will initialize the embedded impl correctly, however this means that SMSEmbeddedLdapObject won't be the first listener in SMSNotificationManager any more. Having the SMSObject implementation as the first listener is important to ensure that the entriesPresent/entriesNotPresent caches are properly maintained.

      How to reproduce the issue

      Don't really have reproduction steps for this one.

      Expected behaviour

      SMSEmbeddedLdapObject init does not fail with an NPE.

      Current behaviour

      It does.

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: