Uploaded image for project: 'Directory ApacheDS'
  1. Directory ApacheDS
  2. DIRSERVER-1834

Broken backend when using AT with no EQUALITY MR

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 2.0.0-M11
    • Fix Version/s: 2.0.0-M12
    • Component/s: None
    • Labels:
      None

      Description

      When adding a big number of entries, we get a broken backend, up to a point we can't any more start the server, obtaining errors like :
      org.apache.directory.api.ldap.model.exception.LdapOtherException
      at org.apache.directory.server.core.api.partition.AbstractPartition.initialize(AbstractPartition.java:84)
      at org.apache.directory.server.core.DefaultDirectoryService.initialize(DefaultDirectoryService.java:1808)
      at org.apache.directory.server.core.DefaultDirectoryService.startup(DefaultDirectoryService.java:1239)
      at org.apache.directory.server.ApacheDsService.initDirectoryService(ApacheDsService.java:315)
      at org.apache.directory.server.ApacheDsService.start(ApacheDsService.java:179)
      at org.apache.directory.server.UberjarMain.start(UberjarMain.java:76)
      at org.apache.directory.server.UberjarMain.main(UberjarMain.java:54)
      Caused by: org.apache.directory.api.ldap.model.exception.LdapOtherException
      at org.apache.directory.server.core.api.partition.AbstractPartition.initialize(AbstractPartition.java:84)
      at org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.addContextPartition(DefaultPartitionNexus.java:824)
      at org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.doInit(DefaultPartitionNexus.java:224)
      at org.apache.directory.server.core.api.partition.AbstractPartition.initialize(AbstractPartition.java:79)
      ... 6 more
      Caused by: org.apache.directory.api.ldap.model.exception.LdapOperationErrorException
      at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.fetch(AbstractBTreePartition.java:1145)
      at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.lookup(AbstractBTreePartition.java:1058)
      at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition.doInit(JdbmPartition.java:235)
      at org.apache.directory.server.core.api.partition.AbstractPartition.initialize(AbstractPartition.java:79)
      ... 9 more
      Caused by: java.lang.NullPointerException
      at org.apache.directory.api.ldap.model.entry.StringValue.readExternal(StringValue.java:538)
      at org.apache.directory.api.ldap.model.entry.StringValue.deserialize(StringValue.java:495)
      at org.apache.directory.api.ldap.model.name.Ava.readExternal(Ava.java:1117)
      at org.apache.directory.api.ldap.model.name.Rdn.readExternal(Rdn.java:1602)
      at org.apache.directory.server.core.partition.impl.btree.jdbm.EntrySerializer.deserialize(EntrySerializer.java:184)
      at jdbm.btree.BPage.deserialize(BPage.java:1188)
      at jdbm.btree.BPage.deserialize(BPage.java:1)
      at jdbm.recman.BaseRecordManager.fetch(BaseRecordManager.java:329)
      at jdbm.recman.CacheRecordManager.fetch(CacheRecordManager.java:264)
      at jdbm.btree.BPage.loadBPage(BPage.java:949)
      at jdbm.btree.BPage.find(BPage.java:280)
      at jdbm.btree.BTree.find(BTree.java:413)
      at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmTable.get(JdbmTable.java:325)
      at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.fetch(AbstractBTreePartition.java:1119)
      ... 12 more
      [08:44:22] ERROR [org.apache.directory.server.UberjarMain] - Failed to start the service.
      org.apache.directory.api.ldap.model.exception.LdapOtherException
      at org.apache.directory.server.core.api.partition.AbstractPartition.initialize(AbstractPartition.java:84)
      at org.apache.directory.server.core.DefaultDirectoryService.initialize(DefaultDirectoryService.java:1808)
      at org.apache.directory.server.core.DefaultDirectoryService.startup(DefaultDirectoryService.java:1239)
      at org.apache.directory.server.ApacheDsService.initDirectoryService(ApacheDsService.java:315)
      at org.apache.directory.server.ApacheDsService.start(ApacheDsService.java:179)
      at org.apache.directory.server.UberjarMain.start(UberjarMain.java:76)
      at org.apache.directory.server.UberjarMain.main(UberjarMain.java:54)
      Caused by: org.apache.directory.api.ldap.model.exception.LdapOtherException
      at org.apache.directory.server.core.api.partition.AbstractPartition.initialize(AbstractPartition.java:84)
      at org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.addContextPartition(DefaultPartitionNexus.java:824)
      at org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.doInit(DefaultPartitionNexus.java:224)
      at org.apache.directory.server.core.api.partition.AbstractPartition.initialize(AbstractPartition.java:79)
      ... 6 more
      Caused by: org.apache.directory.api.ldap.model.exception.LdapOperationErrorException
      at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.fetch(AbstractBTreePartition.java:1145)
      at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.lookup(AbstractBTreePartition.java:1058)
      at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition.doInit(JdbmPartition.java:235)
      at org.apache.directory.server.core.api.partition.AbstractPartition.initialize(AbstractPartition.java:79)
      ... 9 more
      Caused by: java.lang.NullPointerException
      at org.apache.directory.api.ldap.model.entry.StringValue.readExternal(StringValue.java:538)
      at org.apache.directory.api.ldap.model.entry.StringValue.deserialize(StringValue.java:495)
      at org.apache.directory.api.ldap.model.name.Ava.readExternal(Ava.java:1117)
      at org.apache.directory.api.ldap.model.name.Rdn.readExternal(Rdn.java:1602)
      at org.apache.directory.server.core.partition.impl.btree.jdbm.EntrySerializer.deserialize(EntrySerializer.java:184)
      at jdbm.btree.BPage.deserialize(BPage.java:1188)
      at jdbm.btree.BPage.deserialize(BPage.java:1)
      at jdbm.recman.BaseRecordManager.fetch(BaseRecordManager.java:329)
      at jdbm.recman.CacheRecordManager.fetch(CacheRecordManager.java:264)
      at jdbm.btree.BPage.loadBPage(BPage.java:949)
      at jdbm.btree.BPage.find(BPage.java:280)
      at jdbm.btree.BTree.find(BTree.java:413)
      at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmTable.get(JdbmTable.java:325)
      at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.fetch(AbstractBTreePartition.java:1119)
      ... 12 more

      This is most certainly a regression introduced since M10.

        Issue Links

          Activity

          Hide
          elecharny Emmanuel Lecharny added a comment -

          I get some NPE in this piece of code :

          MatchingRule equality = attributeType.getEquality();
          Normalizer normalizer = equality.getNormalizer(); <---- Here, equality is null (not for all the entries though)

          Here, we expect the value to have an AttributeType with an EQUALITY MatchingRule, which is not mandatory.

          Show
          elecharny Emmanuel Lecharny added a comment - I get some NPE in this piece of code : MatchingRule equality = attributeType.getEquality(); Normalizer normalizer = equality.getNormalizer(); <---- Here, equality is null (not for all the entries though) Here, we expect the value to have an AttributeType with an EQUALITY MatchingRule, which is not mandatory.
          Show
          elecharny Emmanuel Lecharny added a comment - This is fixed with http://svn.apache.org/viewvc?view=revision&revision=r1471294
          Hide
          elecharny Emmanuel Lecharny added a comment -

          Closed all the resolved issues

          Show
          elecharny Emmanuel Lecharny added a comment - Closed all the resolved issues

            People

            • Assignee:
              Unassigned
              Reporter:
              elecharny Emmanuel Lecharny
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development