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

Emmanuel Lecharny commented on DIRSTUDIO-913:
---------------------------------------------

Stefan, your analysis is correct.
We have added a flag in the Schema Manager that allows someone to modify the 
schema (add or delete elements) without doing any check (ie, you may be in an 
inconsistent state at some point), and a method that does a check at the end. 
This is what we call the 'relaxed' schema.

We could leverage this feature, but that would require to send a control to 
tell the server to switch to a releaxed mode, and another control to tell the 
server to switch back to a checked schema (and validate or invalidate the 
modifications).

This is quite a bit of work, but it's feasible. I don't think we need t for the 
current version of the server...

> 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)

Reply via email to