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