Uploaded image for project: 'OpenDJ'
  1. OpenDJ
  2. OPENDJ-399

DirectoryException thrown processing of virtual static groups during backend initialization

    XMLWordPrintable

    Details

    • Bug
    • Status: Dev backlog
    • Minor
    • Resolution: Unresolved
    • 2.4.3, 2.6.0
    • None
    • core server
    • None
    • ubuntu linux 64 bit jvm Sun 1.6.0_26 64 bit

      Description

      On startup of OpenDJ when several virtual static groups are configured we are seeing DirectoryException's being thrown. These exceptions appear to be benign, but can be a
      cause for concern. This is due to kind of chicken and egg (bootstrap) between Backend
      Initialization and processing Virtual Attributes.

      cat logs/debug

      10/Jan/2012:14:44:11 +0100] 1 caught error thread=

      {main(1)}

      method=

      {appliesToEntry(VirtualAttributeRule.java:343)}

      caught=

      {org.opends.server.types.DirectoryException: Target group cn=dyn_group,ou=Groups,dc=example,dc=com referenced by virtual static group cn=my virtual static group,ou=Groups,dc=example,dc=com does not exist}

      Stack Trace:
      at org.opends.server.extensions.VirtualStaticGroup.isMember(VirtualStaticGroup.java:364)
      at org.opends.server.api.Group.isMember(Group.java:360)
      at org.opends.server.types.VirtualAttributeRule.appliesToEntry(VirtualAttributeRule.java:333)
      at org.opends.server.core.DirectoryServer.getVirtualAttributes(DirectoryServer.java:4528)
      at org.opends.server.types.Entry.processVirtualAttributes(Entry.java:3921)
      at org.opends.server.backends.jeb.ID2Entry.get(ID2Entry.java:440)
      at org.opends.server.backends.jeb.EntryContainer.getEntry(EntryContainer.java:2340)
      at org.opends.server.backends.jeb.BackendImpl.getEntry(BackendImpl.java:736)
      at org.opends.server.api.Backend.entryExists(Backend.java:487)
      at org.opends.server.core.GroupManager.performBackendInitializationProcessing(GroupManager.java:691)
      at org.opends.server.core.BackendConfigManager.initializeBackendConfig(BackendConfigManager.java:326)
      at org.opends.server.core.DirectoryServer.initializeBackends(DirectoryServer.java:2118)
      at org.opends.server.core.DirectoryServer.startServer(DirectoryServer.java:1311)
      at org.opends.server.core.DirectoryServer.main(DirectoryServer.java:9541)

      Example:

      dn: ou=Groups,dc=example,dc=com
      objectClass: organizationalunit
      objectClass: top
      ou: Groups

      dn: cn=My Virtual Attribute Group,ou=Groups,dc=example,dc=com
      objectClass: ds-virtual-static-group
      objectClass: groupOfUniqueNames
      objectClass: top
      cn: My Virtual Attribute Group
      ds-target-group-dn: cn=dynamic_group,ou=Groups,dc=example,dc=com
      description: Virtual Attribute Group

      dn: cn=dynamic_group,ou=Groups,dc=example,dc=com
      objectClass: groupOfURLs
      objectClass: top
      cn: dynamic_group
      memberURL: ldap:///dc=example,dc=com??sub?(IsMemberOfVirtualGroup=cn=My Virtual Attribute Group,ou=Groups,dc=example,dc=com)
      description: Dynamic Group

      dn: uid=UserLDAP,ou=Groups,dc=example,dc=com
      objectClass: top
      objectClass: myOrgPerson
      cn: UserLDAP
      sn: UserLDAP
      uid: UserLDAP
      description: technical idm user
      aci: (targetattr="*")(version 3.0; acl "Deny Write IDM himself"; deny (write) userdn="ldap:///self"
      ds-pwp-account-disabled: false
      IsMemberOfVirtualGroup: cn=My Virtual Attribute Group,ou=Groups,dc=example,dc=com

      In this case there are 48 virtual static groups pointing to 48 dynamic groups similar to the above
      example.

        Attachments

          Activity

            People

            matthew Matthew Swift
            gary.williams Gary Williams
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Dates

              Created:
              Updated: