Directory ApacheDS
  1. Directory ApacheDS
  2. DIRSERVER-1834

Broken backend when using AT with no EQUALITY MR

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Blocker 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
          Emmanuel Lecharny added a comment -

          Closed all the resolved issues

          Show
          Emmanuel Lecharny added a comment - Closed all the resolved issues
          Show
          Emmanuel Lecharny added a comment - This is fixed with http://svn.apache.org/viewvc?view=revision&revision=r1471294
          Hide
          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
          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.

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development