directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Seelmann (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DIRSTUDIO-913) Removing elements with children under "ou=schema" (ApacheDS) does lead to LDAP errors
Date Thu, 01 May 2014 00:32:15 GMT

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

Stefan Seelmann commented on DIRSTUDIO-913:
-------------------------------------------

I tested with latest version of ApacheDS. 

Now LDAP error 66 (notAllowedOnNonLeaf) is returned and Studio starts do delete the children.
However at some point it fails again with the following error:

[LDAP: error code 53 - UNWILLING_TO_PERFORM: failed for MessageType : DEL_REQUEST
Message ID : 22
    Del request
        Entry : 'm-oid=1.3.6.1.4.1.42.2.27.4.1.7,ou=attributeTypes,cn=java,ou=schema'
org.apache.directory.api.ldap.model.message.DeleteRequestImpl@c14d8571: ERR_346 Cannot delete
the AttributeType m-oid=1.3.6.1.4.1.42.2.27.4.1.7,ou=attributeTypes,cn=java,ou=schema from
the registries, the resulting registries would be inconsistent : org.apache.directory.api.ldap.model.exception.LdapProtocolErrorException:
ERR_11012 Cannot remove 1.3.6.1.4.1.42.2.27.4.1.7 for the registries, it would become inconsistent.
The following SchemaObjects are referencing this SchemaObject : <OBJECT_CLASS,1.3.6.1.4.1.42.2.27.4.2.4>]

The reason is quite clear: The algorithm just searches the children and deletes them one by
one. However within a schema objects depend on each other. To make the delete successful we
would need to build a graph and delete the objects in the right order. Or, do a brute force
approach and continue deletion and repeat till all entries are gone.

The question is if that is worth the effort? IMHO we should not add too much logic into the
simple "delete" operation.


> Removing elements with children under "ou=schema" (ApacheDS) does lead to LDAP errors
> -------------------------------------------------------------------------------------
>
>                 Key: DIRSTUDIO-913
>                 URL: https://issues.apache.org/jira/browse/DIRSTUDIO-913
>             Project: Directory Studio
>          Issue Type: Bug
>    Affects Versions: 2.0.0-M6 (2.0.0.v20130308)
>            Reporter: Konrad Windszus
>            Assignee: Pierre-Arnaud Marcelot
>
> Create an embedded server and connect to it. Just click on cn=java,ou=schema and try
to remove the element. You get the following error
> {code}
> Error while deleting entry
>  - [LDAP: error code 53 - UNWILLING_TO_PERFORM: failed for MessageType : DEL_REQUES
> java.lang.Exception: [LDAP: error code 53 - UNWILLING_TO_PERFORM: failed for MessageType
: DEL_REQUEST
> Message ID : 26
>     Del request
>         Entry : 'cn=java,ou=schema'
> org.apache.directory.api.ldap.model.message.DeleteRequestImpl@a5f31b93: There are children
under the entry cn=java,ou=schema]
> 	at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.checkResponse(DirectoryApiConnectionWrapper.java:1279)
> 	at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.access$600(DirectoryApiConnectionWrapper.java:109)
> 	at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper$7.run(DirectoryApiConnectionWrapper.java:995)
> 	at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.runAndMonitor(DirectoryApiConnectionWrapper.java:1174)
> 	at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.checkConnectionAndRunAndMonitor(DirectoryApiConnectionWrapper.java:1108)
> 	at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.deleteEntry(DirectoryApiConnectionWrapper.java:1017)
> 	at org.apache.directory.studio.ldapbrowser.core.jobs.DeleteEntriesRunnable.deleteEntry(DeleteEntriesRunnable.java:382)
> 	at org.apache.directory.studio.ldapbrowser.core.jobs.DeleteEntriesRunnable.optimisticDeleteEntryRecursive(DeleteEntriesRunnable.java:272)
> 	at org.apache.directory.studio.ldapbrowser.core.jobs.DeleteEntriesRunnable.run(DeleteEntriesRunnable.java:173)
> 	at org.apache.directory.studio.connection.core.jobs.StudioConnectionJob.run(StudioConnectionJob.java:109)
> 	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
> [LDAP: error code 53 - UNWILLING_TO_PERFORM: failed for MessageType : DEL_REQUEST
> Message ID : 26
>     Del request
>         Entry : 'cn=java,ou=schema'
> org.apache.directory.api.ldap.model.message.DeleteRequestImpl@a5f31b93: There are children
under the entry cn=java,ou=schema]
> {code}
> Directory Studio should try to remove the child elements first.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message