directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hendy Irawan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DIRSERVER-1733) Cannot delete leaf entry -- Operation not allowed on non-leaf (66) - NOT_ALLOWED_ON_NON_LEAF: failed for MessageType : DEL_REQUEST
Date Wed, 27 Jun 2012 17:58:45 GMT

    [ https://issues.apache.org/jira/browse/DIRSERVER-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13402406#comment-13402406
] 

Hendy Irawan commented on DIRSERVER-1733:
-----------------------------------------

I tried making the affected entry as simple as possible.

The bug only occurs with this particular entry. I've got hundreds more entries in that collection
and I can delete them just fine. Only this one is stuck.
I also cannot rename to parent entry (ou=users,dc=berbatik,dc=com)

This is the entry now. Seems innocent, although I'm not sure why userPassword is still there,
because I've removed the "simpleSecurityObject" objectClass.

dn: uid=a_good_listener,ou=users,dc=berbatik,dc=com
objectClass: organization
objectClass: top
objectClass: uidObject
o: oooooo
uid: a_good_listener
userPassword:: e1NTSEF9NVA4cXdjNVRJL1ZIeTU1MkFidUNDbkozb1dpNW93bXpPelB6VlE9P
 Q==


It seems to be something to do with userPassword.

uid=a_good_listener,ou=users,dc=berbatik,dc=com

When I try to delete the userPassword attribute :

#!RESULT ERROR
#!CONNECTION ldap://localhost:10389
#!DATE 2012-06-28T00:52:53.153
#!ERROR [LDAP: error code 80 - OTHER: failed for MessageType : MODIFY_REQUEST Message ID :
51     Modify Request         Object : 'uid=a_good_listener,ou=users,dc=berbatik,dc=com' 
           Modification[0]                 Operation :  delete                 Modification
    userPassword: (null) org.apache.directory.shared.ldap.model.message.ModifyRequestImpl@dcfad555:
null]
dn: uid=a_good_listener,ou=users,dc=berbatik,dc=com
changetype: modify
delete: userPassword
-

Added the simpleSecurityObject back, then trying to delete both the simpleSecurityObject and
the userPassword attribute at once, not successful :

Error while executing LDIF
 - [LDAP: error code 80 - OTHER: failed for MessageType : MODIFY_REQUES
  javax.naming.NamingException: [LDAP: error code 80 - OTHER: failed for MessageType : MODIFY_REQUEST
Message ID : 61
    Modify Request
        Object : 'uid=a_good_listener,ou=users,dc=berbatik,dc=com'
            Modification[0]
                Operation :  delete
                Modification
    userPassword: (null)
            Modification[1]
                Operation :  delete
                Modification
    objectClass: simpleSecurityObject
org.apache.directory.shared.ldap.model.message.ModifyRequestImpl@d34e03: null]; remaining
name 'uid=a_good_listener,ou=users,dc=berbatik,dc=com'
	at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3111)
	at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3013)
	at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2820)
	at com.sun.jndi.ldap.LdapCtx.c_modifyAttributes(LdapCtx.java:1458)
	at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_modifyAttributes(ComponentDirContext.java:255)
	at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.modifyAttributes(PartialCompositeDirContext.java:172)
	at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper$2.run(JNDIConnectionWrapper.java:454)
	at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.runAndMonitor(JNDIConnectionWrapper.java:1272)
	at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.checkConnectionAndRunAndMonitor(JNDIConnectionWrapper.java:1203)
	at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.modifyEntry(JNDIConnectionWrapper.java:502)
	at org.apache.directory.studio.ldapbrowser.core.jobs.ImportLdifJob.importLdifRecord(ImportLdifJob.java:507)
	at org.apache.directory.studio.ldapbrowser.core.jobs.ImportLdifJob.importLdif(ImportLdifJob.java:267)
	at org.apache.directory.studio.ldapbrowser.core.jobs.ExecuteLdifRunnable.run(ExecuteLdifRunnable.java:143)
	at org.apache.directory.studio.ldapbrowser.core.jobs.UpdateEntryRunnable.run(UpdateEntryRunnable.java:58)
	at org.apache.directory.studio.connection.ui.RunnableContextRunner$1.run(RunnableContextRunner.java:113)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)

  [LDAP: error code 80 - OTHER: failed for MessageType : MODIFY_REQUEST
Message ID : 61
    Modify Request
        Object : 'uid=a_good_listener,ou=users,dc=berbatik,dc=com'
            Modification[0]
                Operation :  delete
                Modification
    userPassword: (null)
            Modification[1]
                Operation :  delete
                Modification
    objectClass: simpleSecurityObject
org.apache.directory.shared.ldap.model.message.ModifyRequestImpl@d34e03: null]

                
> Cannot delete leaf entry -- Operation not allowed on non-leaf (66) - NOT_ALLOWED_ON_NON_LEAF:
failed for MessageType : DEL_REQUEST
> ----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DIRSERVER-1733
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1733
>             Project: Directory ApacheDS
>          Issue Type: Bug
>          Components: ldap
>    Affects Versions: 2.0.0-M7
>         Environment: java version "1.6.0_31"
> Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
> Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)
> Linux annafi.dev 3.0.0-21-generic #35-Ubuntu SMP Fri May 25 17:57:41 UTC 2012 x86_64
x86_64 x86_64 GNU/Linux
>            Reporter: Hendy Irawan
>            Priority: Critical
>
> Right now, in my database it is impossible to delete an entry, although all the children
has been deleted (i.e. it's a leaf entry) :
> ceefour@annafi:~$ ldapdelete -H ldap://localhost:10389/ -D uid=admin,ou=system -x -W
uid=a_good_listener,ou=users,dc=berbatik,dc=com    
> Enter LDAP Password:                                                                
                                                   
> ldap_delete: Operation not allowed on non-leaf (66)                                 
                                                   
>         additional info: NOT_ALLOWED_ON_NON_LEAF: failed for MessageType : DEL_REQUEST
                                                 
> Message ID : 2                                                                      
                                                   
>     Del request                                                                     
                                                   
>         Entry : 'uid=a_good_listener,ou=users,dc=berbatik,dc=com'                   
                                                   
> org.apache.directory.shared.ldap.model.message.DeleteRequestImpl@bec72d56: ERR_700 [66]
Cannot delete entry uid=a_good_listener,ou=users,dc=berbatik,dc=com it has children! 
> In addition, it's also not possible to rename the entry, with a weird error java.lang.String
cannot be cast to java.lang.Long] :
>   javax.naming.NamingException: [LDAP: error code 1 - OPERATIONS_ERROR: failed for MessageType
: MODIFYDN_REQUEST
> Message ID : 2
>     ModifyDN Response
>         Entry : 'uid=a_good_listener,ou=users,dc=berbatik,dc=com'
>         New Rdn : 'uid=a_good_listenerx'
>         Delete old Rdn : true
> org.apache.directory.shared.ldap.model.message.ModifyDnRequestImpl@269d35c1: java.lang.String
cannot be cast to java.lang.Long]; remaining name 'uid=a_good_listener,ou=users,dc=berbatik,dc=com'
> 	at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3107)
> 	at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3013)
> 	at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2820)
> 	at com.sun.jndi.ldap.LdapCtx.c_rename(LdapCtx.java:706)
> 	at com.sun.jndi.toolkit.ctx.ComponentContext.p_rename(ComponentContext.java:693)
> 	at com.sun.jndi.toolkit.ctx.PartialCompositeContext.rename(PartialCompositeContext.java:251)
> 	at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper$3.run(JNDIConnectionWrapper.java:563)
> 	at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.runAndMonitor(JNDIConnectionWrapper.java:1272)
> 	at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.checkConnectionAndRunAndMonitor(JNDIConnectionWrapper.java:1203)
> 	at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.renameEntry(JNDIConnectionWrapper.java:608)
> 	at org.apache.directory.studio.ldapbrowser.core.jobs.RenameEntryJob.renameEntry(RenameEntryJob.java:288)
> 	at org.apache.directory.studio.ldapbrowser.core.jobs.RenameEntryJob.executeNotificationJob(RenameEntryJob.java:141)
> 	at org.apache.directory.studio.ldapbrowser.core.jobs.AbstractNotificationJob.executeAsyncJob(AbstractNotificationJob.java:43)
> 	at org.apache.directory.studio.ldapbrowser.core.jobs.AbstractEclipseJob.run(AbstractEclipseJob.java:101)
> 	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
> If required, I can provide the partition data, but in private.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message