[
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