You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2011/06/10 15:22:59 UTC

[jira] [Resolved] (DIRSERVER-1357) NullPointerException when deleting alias

     [ https://issues.apache.org/jira/browse/DIRSERVER-1357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Emmanuel Lecharny resolved DIRSERVER-1357.
------------------------------------------

    Resolution: Fixed

Seems that it's not anymore a problem. Added two tests to demonstrate that the deletion of the entry before the alias works :
http://svn.apache.org/viewvc?rev=1134310&view=rev

Note that the revert operation still fails, so the changeLog interceptor is disabled

> NullPointerException when deleting alias
> ----------------------------------------
>
>                 Key: DIRSERVER-1357
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1357
>             Project: Directory ApacheDS
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.5.5, 1.5.4
>            Reporter: Stefan Seelmann
>             Fix For: 2.0.0-M1
>
>         Attachments: DIRSERVER_1357.java
>
>
> There is a NPE when deleting an alias entry is some special case. Here is a example DIT:
> ou=system
>    |--ou=sales
>    |    |--cn=foo  <--real entry
>    |--ou=engineering
>         |--cn=foo  <--alias, pointing to the real entry
> When I first delete the real entry and afterwards the alias the server throws an exception, when it cleans the oneAliasIdx and subAliasIdx in the JdbmStore. Note, the exception does not occur if the real entry and alias are direct descendants of the context entry, because in that case the oneAliasIdx and subAliasIdx are not used.
> java.lang.NullPointerException
> 	at org.apache.directory.server.core.partition.impl.btree.LongComparator.compare(LongComparator.java:45)
> 	at org.apache.directory.server.core.partition.impl.btree.LongComparator.compare(LongComparator.java:1)
> 	at org.apache.directory.server.core.avltree.AvlTree.find(AvlTree.java:661)
> 	at org.apache.directory.server.core.avltree.AvlTree.remove(AvlTree.java:217)
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmTable.remove(JdbmTable.java:662)
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex.drop(JdbmIndex.java:468)
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmStore.dropAliasIndices(JdbmStore.java:822)
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmStore.delete(JdbmStore.java:1098)
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition.delete(JdbmPartition.java:487)
> 	at org.apache.directory.server.core.partition.impl.btree.BTreePartition.delete(BTreePartition.java:217)
> 	at org.apache.directory.server.core.partition.DefaultPartitionNexus.delete(DefaultPartitionNexus.java:824)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira