[ https://issues.apache.org/jira/browse/DIRSERVER-1393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12739808#action_12739808 ]
Emmanuel Lecharny commented on DIRSERVER-1393:
----------------------------------------------
I have looked at the Modification operation code many times. All the ugly work is done in the schema interceptor : a new entry is created, and all the modification are applied there.
I must say that the way we handle modification in this area is frankly not very clean, but I never had enough time (and probably I was reluctant to do so) to clean the code.
It may be time to do so.
The basic algorithm should be to create a copy of the entry, apply the modifications on it, and if it's still consistent wrt schema, apply the change.
It's not very complicated, my estimation is that it's a matter of 2 days. I would suggest we fix it for 1.5.5
> Modification with multiple items are not considered as atomic operation
> -----------------------------------------------------------------------
>
> Key: DIRSERVER-1393
> URL: https://issues.apache.org/jira/browse/DIRSERVER-1393
> Project: Directory ApacheDS
> Issue Type: Bug
> Components: ldap
> Affects Versions: 1.5.4
> Reporter: Stefan Seelmann
> Priority: Critical
> Fix For: 1.5.5
>
>
> Having the following entry:
> ---------------------------------------------------------------------
> dn: cn=test,ou=Users,dc=example,dc=com
> objectClass: inetOrgPerson
> objectClass: organizationalPerson
> objectClass: person
> objectClass: top
> cn: test
> sn: test
> ---------------------------------------------------------------------
> When trying to change the "sn" must attribute with following modification sequence fails with error " [15:48:05] ERROR [org.apache.directory.server.core.schema.SchemaInterceptor] - Trying to remove a required attribute: sn".
> ---------------------------------------------------------------------
> dn: cn=test,ou=Users,dc=example,dc=com
> changetype: modify
> delete: sn
> sn: test
> -
> add: sn
> sn: test2
> -
> ---------------------------------------------------------------------
> Order of add/delete or delete/add doesn't matter. Using "replace" works.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.