You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@directory.apache.org by Tanguy tlrx <tl...@gmail.com> on 2013/03/21 10:36:19 UTC

LDAP error code 80 when recursively delete entry

Hi all,

We are using the Spring LDAP framework (1.3.1.RELEASE) to create/update and
delete LDAP entries in an ApacheDS (2.0.0-M10) server.

In a custom partition, we create entries with a custom objectClass defined
in our schema. Theses entries have sub-entries, also with a custom
objectClass.

We use the recursive delete method of the LdapTemplate object (provided by
spring ldap framework) to delete a parent entry, and we sometimes (but not
always) have the following exception:

-----
org.springframework.ldap.UncategorizedLdapException: Uncategorized
exception occured during LDAP processing; nested exception is
javax.naming.NamingException: [LDAP: error code 80 - OTHER: failed for
MessageType : SEARCH_REQUEST
Message ID : 2
SearchRequest
baseDn : 'cn=license2,ou=licenses,o=myorg'
filter : '(objectClass=*:[244])'
scope : single level
typesOnly : false
Size Limit : no limit
Time Limit : no limit
Deref Aliases : deref Always
attributes :
org.apache.directory.api.ldap.model.message.SearchRequestImpl@96abbb02ManageDsaITImpl
Control
Type OID : '2.16.840.1.113730.3.4.2'
Criticality : 'false'
'
: null]; remaining name 'cn=license2,ou=licenses'
at
org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:217)
at
org.springframework.ldap.core.LdapTemplate.deleteRecursively(LdapTemplate.java:1122)
at
org.springframework.ldap.core.LdapTemplate$25.executeWithContext(LdapTemplate.java:1083)
at
org.springframework.ldap.core.LdapTemplate.executeWithContext(LdapTemplate.java:807)
at
org.springframework.ldap.core.LdapTemplate.executeReadWrite(LdapTemplate.java:802)
at
org.springframework.ldap.core.LdapTemplate.doUnbindRecursively(LdapTemplate.java:1081)
at org.springframework.ldap.core.LdapTemplate.unbind(LdapTemplate.java:1044)
-----

The deleteRecursively method simply tries to unbind sub entries before the
parent entry. I can't debug what is going on on ApacheDS side because to
many DEBUG traces are logged :/ When looking into the LDAP, the entry + sub
entries are not deleted.

Do you have any idea? There's an index defined in the partition for "cn"
attribute, do you think it can be the origin of the issue?

Thanks,

-- Tanguy

Re: LDAP error code 80 when recursively delete entry

Posted by Emmanuel Lécharny <el...@gmail.com>.
Hi,

What would be helpful here is that yoi just activate the
DeleteRequestHandler log only, by modifying the ApacheDS
log4j.properties this way :

log4j.rootCategory=OFF, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{HH:mm:ss}] %p [%c] - %m%n

log4j.logger.org.apache.directory.server.ldap.handlers.request.DeleteRequestHandler=DEBUG


You will get a trace with the delete requests.


I wonder if they are received in the right order.

Also you should switch to ApacheDS 2.0.0-M11, there are ciritical fixes
in this version (although they should not be teh cause of your issue)


Le 3/21/13 10:36 AM, Tanguy tlrx a écrit :
> Hi all,
>
> We are using the Spring LDAP framework (1.3.1.RELEASE) to create/update and
> delete LDAP entries in an ApacheDS (2.0.0-M10) server.
>
> In a custom partition, we create entries with a custom objectClass defined
> in our schema. Theses entries have sub-entries, also with a custom
> objectClass.
>
> We use the recursive delete method of the LdapTemplate object (provided by
> spring ldap framework) to delete a parent entry, and we sometimes (but not
> always) have the following exception:
>
> -----
> org.springframework.ldap.UncategorizedLdapException: Uncategorized
> exception occured during LDAP processing; nested exception is
> javax.naming.NamingException: [LDAP: error code 80 - OTHER: failed for
> MessageType : SEARCH_REQUEST
> Message ID : 2
> SearchRequest
> baseDn : 'cn=license2,ou=licenses,o=myorg'
> filter : '(objectClass=*:[244])'
> scope : single level
> typesOnly : false
> Size Limit : no limit
> Time Limit : no limit
> Deref Aliases : deref Always
> attributes :
> org.apache.directory.api.ldap.model.message.SearchRequestImpl@96abbb02ManageDsaITImpl
> Control
> Type OID : '2.16.840.1.113730.3.4.2'
> Criticality : 'false'
> '
> : null]; remaining name 'cn=license2,ou=licenses'
> at
> org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:217)
> at
> org.springframework.ldap.core.LdapTemplate.deleteRecursively(LdapTemplate.java:1122)
> at
> org.springframework.ldap.core.LdapTemplate$25.executeWithContext(LdapTemplate.java:1083)
> at
> org.springframework.ldap.core.LdapTemplate.executeWithContext(LdapTemplate.java:807)
> at
> org.springframework.ldap.core.LdapTemplate.executeReadWrite(LdapTemplate.java:802)
> at
> org.springframework.ldap.core.LdapTemplate.doUnbindRecursively(LdapTemplate.java:1081)
> at org.springframework.ldap.core.LdapTemplate.unbind(LdapTemplate.java:1044)
> -----
>
> The deleteRecursively method simply tries to unbind sub entries before the
> parent entry. I can't debug what is going on on ApacheDS side because to
> many DEBUG traces are logged :/ When looking into the LDAP, the entry + sub
> entries are not deleted.
>
> Do you have any idea? There's an index defined in the partition for "cn"
> attribute, do you think it can be the origin of the issue?
>
> Thanks,
>
> -- Tanguy
>


-- 
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com