[
https://issues.apache.org/jira/browse/DIRSERVER-1448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12851825#action_12851825
]
Kiran Ayyagari commented on DIRSERVER-1448:
-------------------------------------------
Here is what I have observed, the way you are doing update of an object seems
to be buggy, the call to mapToContext(info, context) inside the update()
method is making spring to create some unwanted modifications on the existing
objectClass attribute.
There are 3 modifications sent to the server though only two attributes are
requested to be updated
Look at the Modification[1] in the below excerpt from the stack trace
Modification[0]
Operation : replace
Modification
postalCode: 12110
Modification[1]
Operation : delete
Modification
objectClass: organizationalPerson
objectClass: person
objectClass: inetOrgPerson
Modification[2]
Operation : replace
Modification
sn: TEST_UPDATE
commenting the call to mapToContext() in the update() method fixed this issue.
> Unable to update User attributes
> ---------------------------------
>
> Key: DIRSERVER-1448
> URL: https://issues.apache.org/jira/browse/DIRSERVER-1448
> Project: Directory ApacheDS
> Issue Type: Bug
> Affects Versions: 1.5.5
> Environment: Windows, Java Embedded Apache DS
> Reporter: RAMESH BABU NAKKA
> Priority: Blocker
> Fix For: 2.0.0-RC1
>
> Attachments: sample.zip
>
>
> I am using the embedded APACHE DS API 1.5.5.
> We are starting and stopping the DS through testng tests
> We are able to create partition, add users, find users, but not able to
> update users with any attribute (Single valued and Multi valued.)
> Initially we thought we are not able to updated for multi values attributes,
> but we are UNABLE to update any user attribute.
> We get the below exception.
> java.lang.NullPointerException
> at
> org.apache.directory.server.core.collective.CollectiveAttributesSchemaChecker.checkModify(CollectiveAttributesSchemaChecker.java:89)
> at
> org.apache.directory.server.core.collective.CollectiveAttributeInterceptor.modify(CollectiveAttributeInterceptor.java:358)
> at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
> at
> org.apache.directory.server.core.subtree.SubentryInterceptor.modify(SubentryInterceptor.java:1104)
> at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
> at
> org.apache.directory.server.core.schema.SchemaInterceptor.modify(SchemaInterceptor.java:1551)
> at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
> at
> org.apache.directory.server.core.operational.OperationalAttributeInterceptor.modify(OperationalAttributeInterceptor.java:209)
> at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
> at
> org.apache.directory.server.core.changelog.ChangeLogInterceptor.modify(ChangeLogInterceptor.java:225)
> at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
> at
> org.apache.directory.server.core.exception.ExceptionInterceptor.modify(ExceptionInterceptor.java:367)
> at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
> at
> org.apache.directory.server.core.authz.DefaultAuthorizationInterceptor.modify(DefaultAuthorizationInterceptor.java:273)
> at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
> at
> org.apache.directory.server.core.authz.AciAuthorizationInterceptor.modify(AciAuthorizationInterceptor.java:565)
> at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
> at
> org.apache.directory.server.core.referral.ReferralInterceptor.modify(ReferralInterceptor.java:403)
> at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
> at
> org.apache.directory.server.core.authn.AuthenticationInterceptor.modify(AuthenticationInterceptor.java:336)
> at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
> at
> org.apache.directory.server.core.normalization.NormalizationInterceptor.modify(NormalizationInterceptor.java:146)
> at
> org.apache.directory.server.core.interceptor.InterceptorChain.modify(InterceptorChain.java:821)
> at
> org.apache.directory.server.core.DefaultOperationManager.modify(DefaultOperationManager.java:691)
> at
> org.apache.directory.server.core.DefaultCoreSession.modify(DefaultCoreSession.java:829)
> at
> org.apache.directory.server.core.DefaultCoreSession.modify(DefaultCoreSession.java:815)
> at
> org.apache.directory.server.ldap.handlers.ModifyHandler.handle(ModifyHandler.java:56)
> at
> org.apache.directory.server.ldap.handlers.ModifyHandler.handle(ModifyHandler.java:39)
> at
> org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:176)
> at
> org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:56)
> at
> org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:232)
> at
> org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:194)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:721)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:433)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:801)
> at
> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
> at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.