directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrea Gariboldi <andrea.garibo...@gmail.com>
Subject Re: ApacheDS oracle partition.
Date Fri, 27 Nov 2009 21:07:56 GMT
Thanks Mikhail,
  i can confirm you that when i introduced the partition_facade i lost
the way the modify method was working in the previous version...

So i am going to modify the partition_facade mechanism (package, and pl/sql
to java object bridge)
to handle correctly the modification object.

Cheers,
Andrea

2009/11/27 Самоделкин Михаил <samodelkin.m@tut.by>

> It will be cool!
>
> Then I will explain a cause of error little bit in more details, it is
> possible it will be useful.
>
> Your "modify" method looks like below.
>
> public void modify (ModifyOperationContext ctx) throws Exception
>  {
>         executeDml ("begin partition_facade.modify (?); end;",
> OracleEntry.fromServerEntry(*((ServerEntry)
>          ctx.getEntry().getClonedEntry ())*, this));
>  }
>
> In the debug mode, I have found out that "modify" method calls two times.
> For example if i have to modify attribute "city" for entry with
> distinguished name  "uid=user1, ou=Users, dc=example, dc=com" first time
> call of modify method obtain "*ModifyOperationContext ctx*" and its
> toString() value looks like:
>
> * ModifyContext for DN ' uid=user1, ou=Users, dc=example, dc=com ',
> modifications
>    Modification: replace
>    attribute: city: London*
>
> and on this first time call, method not throw NullPointerException because
> *(ServerEntry) ctx.getEntry ()*
> is not null.
>
> But on the second time call, modify method obtain "*ModifyOperationContext
> ctx*" with toString() value witch looks like:
>
>  *ModifyContext for DN ' uid=user1, ou=Users, dc=example, dc=com ',
> modifications:
>    Modification: replace
>    attribute: modifiersName: 0.9.2342.19200300.100.1.1=admin,
> 2.5.4.11=system
>
>    Modification: replace
>    attribute: modifyTimestamp: 20091127160318Z*
>
> and now *(ServerEntry) ctx.getEntry ()* return null. and method fails here
> * ((ServerEntry) ctx.getEntry ().getClonedEntry ()).*
>
> May be with previous version of ApacheDs this method was not called two
> times...
>
> Thank you.
>
> Best Regards,
> *Mikhail Samadzelkin*
>
>
> 2009/11/27 Andrea Gariboldi <andrea.gariboldi@gmail.com>
>
> Ok Mikhail,
>>   i've seen that the pom.xml file still have some 1.5.5-SNAPSHOT reference
>> becuse
>> it was developed during 1.5.4 / 1.5.5-SNAPSHOT period. Probably the best
>> thing to do is
>> to cleanup the project a bit (i'am going to do it this week-end) so that
>> it will be
>> consistent for 1.5.5 production Apache DS release, and we can work on the
>> same code.
>>
>> Then i will update the issue
>> http://issues.apache.org/jira/browse/DIRSERVER-1345,
>> so that you can download the new package..
>>
>> Andrea
>>
>>
>>
>>
>>
>> 2009/11/26 Самоделкин Михаил <samodelkin.m@tut.by>
>>
>>> Andrea, Hi again.
>>>
>>> Сейчас я перекомпилировал все заново с использованием
maven, и с учетом
>>> нового кода
>>>  in OracleEntryCursorAdaptor.java
>>> and in OraclePartition.java
>>> и получил следующий apacheds-oracle-1.5.5-new-test.jar see attach.
new
>>> pom.xml and server.xml also attached.
>>>
>>> But i have the same exception on modify operation:
>>>  java.lang.NullPointerException
>>>     at
>>> org.apache.directory.server.partition.impl.oracle.OraclePartition.modify(OraclePartition.java:372)
>>> .....
>>>
>>>
>>> 2009/11/26 Самоделкин Михаил <samodelkin.m@tut.by>
>>>
>>> Hello Andrea,
>>>> I did not modify anything else in java code, except what are described
>>>> in your *.patch files.
>>>>
>>>> in OracleEntryCursorAdaptor.java
>>>>
>>>> -import org.apache.directory.server.core.cursor. AbstractCursor;
>>>> +import org.apache.directory.shared.ldap.cursor. AbstractCursor;
>>>>
>>>> in OraclePartition.java
>>>>
>>>> - executeDml ("begin partition_facade.move_and_rename (?????); end;",
>>>> toReversedDn (ctx.getParent ()),
>>>> + executeDml ("begin partition_facade.move_and_rename (????); end;",
>>>> toReversedDn (ctx.getParent ()),
>>>>
>>>>
>>>> ctx.getNewRdn ().getNormName (),
>>>> - ctx.getParent ().getUpName (),
>>>> - ctx.getNewRdn ().getUpName (),
>>>> + ctx.getNewRdn ().getUpName () + "," +ctx.getParent ().getUpName (),
>>>>
>>>> toReversedDn (ctx.getDn ()));
>>>>
>>>>  But I changed server.xml file (see attachment), because with
>>>> server.xml  file whitch provided with this version of oracle partition
>>>> apacheds-oracle.tar.gz<https://issues.apache.org/jira/secure/attachment/12404683/apacheds-oracle.tar.gz>,
>>>> apacheds-oracle.tar.gz(\apacheds-oracle\oracle\server.xml) a server throws
>>>> an exception and not starts.
>>>>
>>>> [12:20:22] ERROR [org.apache.directory.daemon. Bootstrapper] - Failed on
>>>> null.init (InstallationLayout, String [])
>>>> org.springframework.beans.factory. BeanDefinitionStoreException: *Unrecognized
>>>> xbean namespace mapping: http://apacheds.org/config/1.5.5-SNAPSHOT*
>>>>  at org.apache.xbean.spring.context.v2c.
>>>> XBeanNamespaceHandler.parseBeanFromExtensionElement
>>>> (XBeanNamespaceHandler.java:277)
>>>>  at org.apache.xbean.spring.context.v2c. XBeanNamespaceHandler.parse
>>>> (XBeanNamespaceHandler.java:155)
>>>>  at org.apache.xbean.spring.context.v2.XBeanNamespaceHandler.parse
>>>> (XBeanNamespaceHandler.java:49)
>>>>  at org.springframework.beans.factory.xml.
>>>> BeanDefinitionParserDelegate.parseCustomElement
>>>> (BeanDefinitionParserDelegate.java:1297)
>>>>  at org.springframework.beans.factory.xml.
>>>> BeanDefinitionParserDelegate.parseCustomElement
>>>> (BeanDefinitionParserDelegate.java:1287)
>>>>  at
>>>> org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseBeanDefinitions
>>>> (XBeanBeanDefinitionDocumentReader.java:84)
>>>>  at org.springframework.beans.factory.xml.
>>>> DefaultBeanDefinitionDocumentReader.registerBeanDefinitions
>>>> (DefaultBeanDefinitionDocumentReader.java:92)
>>>>  at org.springframework.beans.factory.xml.
>>>> XmlBeanDefinitionReader.registerBeanDefinitions
>>>> (XmlBeanDefinitionReader.java:507)
>>>>  at
>>>> org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.registerBeanDefinitions
>>>> (XBeanXmlBeanDefinitionReader.java:79)
>>>>  at org.springframework.beans.factory.xml.
>>>> XmlBeanDefinitionReader.doLoadBeanDefinitions
>>>> (XmlBeanDefinitionReader.java:398)
>>>>  at org.springframework.beans.factory.xml.
>>>> XmlBeanDefinitionReader.loadBeanDefinitions
>>>> (XmlBeanDefinitionReader.java:342)
>>>>  at org.springframework.beans.factory.xml.
>>>> XmlBeanDefinitionReader.loadBeanDefinitions
>>>> (XmlBeanDefinitionReader.java:310)
>>>>  at org.springframework.beans.factory.support.
>>>> AbstractBeanDefinitionReader.loadBeanDefinitions
>>>> (AbstractBeanDefinitionReader.java:143)
>>>>  at org.springframework.beans.factory.support.
>>>> AbstractBeanDefinitionReader.loadBeanDefinitions
>>>> (AbstractBeanDefinitionReader.java:178)
>>>>  at org.springframework.beans.factory.support.
>>>> AbstractBeanDefinitionReader.loadBeanDefinitions
>>>> (AbstractBeanDefinitionReader.java:149)
>>>>  at org.springframework.beans.factory.support.
>>>> AbstractBeanDefinitionReader.loadBeanDefinitions
>>>> (AbstractBeanDefinitionReader.java:212)
>>>>  at org.springframework.context.support.
>>>> AbstractXmlApplicationContext.loadBeanDefinitions
>>>> (AbstractXmlApplicationContext.java:113)
>>>>  at org.apache.xbean.spring.context.
>>>> FileSystemXmlApplicationContext.loadBeanDefinitions
>>>> (FileSystemXmlApplicationContext.java:168)
>>>>  at org.springframework.context.support.
>>>> AbstractRefreshableApplicationContext.refreshBeanFactory
>>>> (AbstractRefreshableApplicationContext.java:123)
>>>>  at org.springframework.context.support.
>>>> AbstractApplicationContext.obtainFreshBeanFactory
>>>> (AbstractApplicationContext.java:422)
>>>>  at org.springframework.context.support.
>>>> AbstractApplicationContext.refresh (AbstractApplicationContext.java:352)
>>>>  at org.apache.xbean.spring.context. FileSystemXmlApplicationContext.
>>>> <init> (FileSystemXmlApplicationContext.java:149)
>>>>  at org.apache.xbean.spring.context. FileSystemXmlApplicationContext.
>>>> <init> (FileSystemXmlApplicationContext.java:48)
>>>>  at org.apache.directory.server. Service.initLdap (Service.java:113)
>>>>  at org.apache.directory.server. Service.init (Service.java:78)
>>>>  at org.apache.directory.daemon. Bootstrapper.callInit
>>>> (Bootstrapper.java:154)
>>>>  at org.apache.directory.daemon. TanukiBootstrapper.start
>>>> (TanukiBootstrapper.java:54)
>>>>  at org.tanukisoftware.wrapper. WrapperManager$12.run
>>>> (WrapperManager.java:2788)
>>>>
>>>> Also I have compiled your code in jar file with eclipse (not with maven)
>>>> it also attached.
>>>>
>>>> Probably mine above actions, could entail, null pointer exception in
>>>>
>>>> public void modify (ModifyOperationContext ctx) method.
>>>>  witch i describe in previous letters.
>>>>
>>>> But I repeat, operations create, search, delete work normally.
>>>>
>>>> May be You can send to me your current version of server.xml, and
>>>> apacheds-oracle-1.5.5-SNAPSHOT.jar with applied "mar.patch" and
>>>> "OracleEntryCursorAdaptor.patch" patches, to test modify operation with you
>>>> files on my environment?
>>>>
>>>> Lets summarize:
>>>>
>>>> attached apacheds-oracle-1.5.5-SNAPSHOT.jar file i I took from this
>>>> version of oracle partition apacheds-oracle.tar.gz<https://issues.apache.org/jira/secure/attachment/12404683/apacheds-oracle.tar.gz>(\apacheds-oracle\target\)
>>>>
>>>> apacheds-oracle-1.5.5-test.jar contains compiled code with taken into
>>>> consideration changes in OracleEntryCursorAdaptor.java and in
>>>> OraclePartition.java.
>>>>
>>>> combination with_my_changes_server.xml + apacheds-oracle-1.5.5-test.jar
>>>> works fine for search, delete, create operation.
>>>> other combinations does not works on my environment.
>>>>
>>>> Thank you very much.
>>>>
>>>> 25 ноября 2009 г. 18:08 пользователь Andrea Gariboldi
<
>>>> andrea.gariboldi@gmail.com> написал:
>>>>
>>>>  Hi Mikhail,
>>>>>   did you modified anything else on the class?
>>>>>
>>>>> Could you please write to the dev@directory.apache.org,
>>>>> so that others can see the thread?
>>>>>
>>>>> Andrea
>>>>>
>>>>> 2009/11/24 Alex Karasulu <akarasulu@gmail.com>
>>>>>
>>>>> Hey this is great Andrea!  Thanks for helping out.  But guys this
>>>>>> should all be going onto the dev mailing list.  Can you please forward
these
>>>>>> to the dev list so everyone can see this good interaction?
>>>>>>
>>>>>> Thanks,
>>>>>> Alex
>>>>>>
>>>>>>
>>>>>> 2009/11/24 Andrea Gariboldi <andrea.gariboldi@gmail.com>
>>>>>>
>>>>>>> Could you please attach you OraclePartition.java?
>>>>>>>
>>>>>>> Andrea
>>>>>>>
>>>>>>> 2009/11/24 Самоделкин Михаил <samodelkin.m@tut.by>
>>>>>>>
>>>>>>>> The key part of log below. And full log in attachment. This
trace
>>>>>>>> appiars only with DEBUG mode in log4j.properties.
>>>>>>>>
>>>>>>>> [18:00:36] DEBUG
>>>>>>>> [org.apache.directory.server.ldap.handlers.LdapRequestHandler]
- OTHER:
>>>>>>>> failed for     Modify Request
>>>>>>>>         Object :
>>>>>>>> '0.9.2342.19200300.100.1.1=dddd,0.9.2342.19200300.100.1.25=supplyon,0.9.2342.19200300.100.1.25=com'
>>>>>>>>
>>>>>>>>             Modification[0]
>>>>>>>>                 Operation :  replace
>>>>>>>>                 Modification
>>>>>>>>      cn: ssssssss
>>>>>>>> : null
>>>>>>>> java.lang.NullPointerException
>>>>>>>>     at
>>>>>>>> org.apache.directory.server.partition.impl.oracle.OraclePartition.modify(OraclePartition.java:321)
>>>>>>>>     at
>>>>>>>> org.apache.directory.server.core.partition.DefaultPartitionNexus.modify(DefaultPartitionNexus.java:845)
>>>>>>>>     at
>>>>>>>> org.apache.directory.server.core.operational.OperationalAttributeInterceptor.modify(OperationalAttributeInterceptor.java:248)
>>>>>>>>     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)
>>>>>>>>     at
>>>>>>>> org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:480)
>>>>>>>>     at
>>>>>>>> org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:434)
>>>>>>>>     at java.lang.Thread.run(Unknown Source)
>>>>>>>> [18:00:36] DEBUG
>>>>>>>> [org.apache.directory.shared.ldap.codec.TwixTransformer]
- Transforming
>>>>>>>> message type MODIFY_RESPONSE
>>>>>>>> [18:00:36] DEBUG
>>>>>>>> [org.apache.directory.shared.ldap.codec.TwixTransformer]
- Transformed
>>>>>>>> message : LdapMessage
>>>>>>>>     message Id : 23
>>>>>>>>     Modify Response
>>>>>>>>         Ldap Result
>>>>>>>>             Result code : (OTHER) other
>>>>>>>>             Matched DN : ''
>>>>>>>>             Error message : 'OTHER: failed for     Modify
Request
>>>>>>>>         Object :
>>>>>>>> '0.9.2342.19200300.100.1.1=dddd,0.9.2342.19200300.100.1.25=supplyon,0.9.2342.19200300.100.1.25=com'
>>>>>>>>
>>>>>>>>             Modification[0]
>>>>>>>>                 Operation :  replace
>>>>>>>>                 Modification
>>>>>>>>     cn: ssssssss
>>>>>>>> : null:
>>>>>>>> java.lang.NullPointerException
>>>>>>>>     at
>>>>>>>> org.apache.directory.server.partition.impl.oracle.OraclePartition.modify(OraclePartition.java:321)
>>>>>>>>     at
>>>>>>>> org.apache.directory.server.core.partition.DefaultPartitionNexus.modify(DefaultPartitionNexus.java:845)
>>>>>>>>     at
>>>>>>>> org.apache.directory.server.core.operational.OperationalAttributeInterceptor.modify(OperationalAttributeInterceptor.java:248)
>>>>>>>>     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)
>>>>>>>>     at
>>>>>>>> org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:480)
>>>>>>>>     at
>>>>>>>> org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:434)
>>>>>>>>     at java.lang.Thread.run(Unknown Source)
>>>>>>>> '
>>>>>>>>
>>>>>>>> [18:00:36] DEBUG
>>>>>>>> [org.apache.directory.shared.ldap.codec.TwixEncoder] - Encoding
this
>>>>>>>> LdapMessage : LdapMessage
>>>>>>>>     message Id : 23
>>>>>>>>     Modify Response
>>>>>>>>         Ldap Result
>>>>>>>>             Result code : (OTHER) other
>>>>>>>>             Matched DN : ''
>>>>>>>>             Error message : 'OTHER: failed for     Modify
Request
>>>>>>>>         Object :
>>>>>>>> '0.9.2342.19200300.100.1.1=dddd,0.9.2342.19200300.100.1.25=supplyon,0.9.2342.19200300.100.1.25=com'
>>>>>>>>
>>>>>>>>             Modification[0]
>>>>>>>>                 Operation :  replace
>>>>>>>>                 Modification
>>>>>>>>     cn: ssssssss
>>>>>>>> : null:
>>>>>>>> java.lang.NullPointerException
>>>>>>>>     at
>>>>>>>> org.apache.directory.server.partition.impl.oracle.OraclePartition.modify(OraclePartition.java:321)
>>>>>>>>     at
>>>>>>>> org.apache.directory.server.core.partition.DefaultPartitionNexus.modify(DefaultPartitionNexus.java:845)
>>>>>>>>     at
>>>>>>>> org.apache.directory.server.core.operational.OperationalAttributeInterceptor.modify(OperationalAttributeInterceptor.java:248)
>>>>>>>>     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)
>>>>>>>>     at
>>>>>>>> org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:480)
>>>>>>>>     at
>>>>>>>> org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:434)
>>>>>>>>     at java.lang.Thread.run(Unknown Source)
>>>>>>>>
>>>>>>>>
>>>>>>>> Best Regards,
>>>>>>>> *Mikhail Samadzelkin*
>>>>>>>>
>>>>>>>>
>>>>>>>> 2009/11/24 Andrea Gariboldi <andrea.gariboldi@gmail.com>
>>>>>>>>
>>>>>>>>> Can you check the apacheds server log files for exceptions?
>>>>>>>>> I cannot reproduce the error in my env..
>>>>>>>>>
>>>>>>>>> Andrea
>>>>>>>>>
>>>>>>>>> 2009/11/24 Самоделкин Михаил <samodelkin.m@tut.by>
>>>>>>>>>
>>>>>>>>>>  Thank you very much Andrea, now this method looks
like below,
>>>>>>>>>>
>>>>>>>>>>     public void moveAndRename(final MoveAndRenameOperationContext
>>>>>>>>>> ctx) throws Exception {
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>         executeDml("begin
>>>>>>>>>> partition_facade.move_and_rename(?,?,?,?); end;",
new Object[] {
>>>>>>>>>>
>>>>>>>>>> toReversedDn(ctx.getParent()),
>>>>>>>>>>
>>>>>>>>>> ctx.getNewRdn().getNormName(),
>>>>>>>>>>
>>>>>>>>>> ctx.getNewRdn().getUpName() + "," + ctx.getParent().getUpName(),
>>>>>>>>>>
>>>>>>>>>> toReversedDn(ctx.getDn())
>>>>>>>>>>         });
>>>>>>>>>>     }
>>>>>>>>>>
>>>>>>>>>> and not fails.
>>>>>>>>>>    But I steel have a problem with update an LDAP
entry. Server
>>>>>>>>>> throw an exception, about which I wrote in the first
letter (javax.naming.
>>>>>>>>>> NamingException: [LDAP: error code 80 - OTHER: failed
for Modify Request).
>>>>>>>>>>
>>>>>>>>>>    To reproduce this exception, it is enough to create
LDAP entry
>>>>>>>>>> from scratch in Apache Directory Studio in any place
of DIT, and try to
>>>>>>>>>> modify any attribute. The same for any java LDAP
API (novell, jndi, etc...).
>>>>>>>>>> For example I create the user in Apache Directory
Studio with objectClass
>>>>>>>>>> "inetOrgPerson" and modify his "cn" or "sn" attribute.
>>>>>>>>>>
>>>>>>>>>> Error while modifying value
>>>>>>>>>>
>>>>>>>>>> [LDAP: error code 80 - OTHER: failed for Modify Request
>>>>>>>>>>         Object: ' 0.9.2342.19200300.100.1.1=dddd,
>>>>>>>>>> 0.9.2342.19200300.100.1.25=foo, 0.9.2342.19200300.100.1.25=com
'
>>>>>>>>>>             Modification [0]
>>>>>>>>>>                 Operation: replace
>>>>>>>>>>                 Modification
>>>>>>>>>>     cn: fsdfdsds
>>>>>>>>>> : null]
>>>>>>>>>>
>>>>>>>>>>   [LDAP: error code 80 - OTHER: failed for Modify
Request
>>>>>>>>>>         Object: ' 0.9.2342.19200300.100.1.1=dddd,
>>>>>>>>>> 0.9.2342.19200300.100.1.25=foo, 0.9.2342.19200300.100.1.25=com
'
>>>>>>>>>>             Modification [0]
>>>>>>>>>>                 Operation: replace
>>>>>>>>>>                 Modification
>>>>>>>>>>     cn: fsdfdsds
>>>>>>>>>> : null]
>>>>>>>>>>
>>>>>>>>>> Thank you very much again.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Best Regards,
>>>>>>>>>> *Mikhail Samadzelkin*
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2009/11/24 Andrea Gariboldi <andrea.gariboldi@gmail.com>
>>>>>>>>>>
>>>>>>>>>>> To apply the patch simply:
>>>>>>>>>>> cd apacheds-oracle
>>>>>>>>>>> patch -p0 < mar.patch
>>>>>>>>>>> mvn compile
>>>>>>>>>>> mvn package
>>>>>>>>>>> ...
>>>>>>>>>>>
>>>>>>>>>>> Andrea
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2009/11/24 Andrea Gariboldi <andrea.gariboldi@gmail.com>
>>>>>>>>>>>
>>>>>>>>>>>> Ok Mikhail,
>>>>>>>>>>>>    i see the problem: when partition_facade
>>>>>>>>>>>> was introduced the moveAndRename operation
was not
>>>>>>>>>>>> tested so i have to patch this method. The
reason why the
>>>>>>>>>>>> params are different is because there was
an underlying
>>>>>>>>>>>> modification in the way the partition works
with upDns (user
>>>>>>>>>>>> provided DN)...
>>>>>>>>>>>> In the last version was introduced (as it
should be) the storage
>>>>>>>>>>>> of the DN in the form the user provieded
it (DN.UPDN column).
>>>>>>>>>>>> The problem should only hit this method.
>>>>>>>>>>>>
>>>>>>>>>>>> Actually i've a problem on my laptop so i
cannot test the patch,
>>>>>>>>>>>> that i am going to release by the end of
this week (once i
>>>>>>>>>>>> tested it), but you can
>>>>>>>>>>>> apply the patch attached to check if solves
your problem now.
>>>>>>>>>>>>
>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>
>>>>>>>>>>>> Andrea
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 2009/11/24 Самоделкин Михаил
<samodelkin.m@tut.by>
>>>>>>>>>>>>
>>>>>>>>>>>>> I have an ApacheDS 1.5.5<http://directory.apache.org/apacheds/1.5/downloads.html>and
this
>>>>>>>>>>>>> version of oracle partition apacheds-oracle.tar.gz<https://issues.apache.org/jira/secure/attachment/12404683/apacheds-oracle.tar.gz>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>> *Mikhail Samadzelkin*
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2009/11/24 Andrea Gariboldi <andrea.gariboldi@gmail.com>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Of course you have an old version.
>>>>>>>>>>>>>> I'am going to find you the right
one.
>>>>>>>>>>>>>> Which release of Apache DS are you
using?
>>>>>>>>>>>>>> Andrea
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2009/11/24 Самоделкин Михаил
<samodelkin.m@tut.by>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hello Andrea, Alex.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I would like to use your oracle
partition for ApacheDS in my
>>>>>>>>>>>>>>> application, search works fine,
>>>>>>>>>>>>>>> but at testing, many errors have
got out. For example does
>>>>>>>>>>>>>>> not work update LDAP entry, and
throws an exception like (javax.naming.
>>>>>>>>>>>>>>> NamingException: [LDAP: error
code 80 - OTHER: failed for Modify Request).
>>>>>>>>>>>>>>> And there is not a conformity
in count of parameters in caused from java
>>>>>>>>>>>>>>> code PL-SQL  procedure. For example
in class OraclePartition {
>>>>>>>>>>>>>>> ...
>>>>>>>>>>>>>>> public void moveAndRename (MoveAndRenameOperationContext
ctx)
>>>>>>>>>>>>>>>         throws Exception
>>>>>>>>>>>>>>>     {
>>>>>>>>>>>>>>>         executeDml ("begin partition_facade.move_and_rename
>>>>>>>>>>>>>>> (?????); end;", new Object []
{
>>>>>>>>>>>>>>>             toReversedDn (ctx.getParent
()), ctx.getNewRdn
>>>>>>>>>>>>>>> ().getNormName (), ctx.getParent
().getUpName (), ctx.getNewRdn ().getUpName
>>>>>>>>>>>>>>> (), toReversedDn (ctx.getDn ())
>>>>>>>>>>>>>>>         });
>>>>>>>>>>>>>>>     }
>>>>>>>>>>>>>>> ...
>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>> in this moveAndRename method,
procedure "move_and_rename"
>>>>>>>>>>>>>>> takes 5 parametres
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> but in schema.sql file, this
procedure takes 4 parametres
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> procedure move_and_rename (p_parent
varchar2, p_rdn varchar2,
>>>>>>>>>>>>>>> p_new_updn varchar2, p_dn varchar2)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Could you tell me please, is
it possible i have the old
>>>>>>>>>>>>>>> version of a code(
>>>>>>>>>>>>>>> http://issues.apache.org/jira/browse/DIRSERVER-1345),
or the
>>>>>>>>>>>>>>> code simply was not tested on
update?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> PS. tested on Oracle 10g, and
ApacheDS 1.5.5
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thank you in advance.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>>>> *Mikhail Samadzelkin*
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Alex Karasulu
>>>>>> My Blog :: http://www.jroller.com/akarasulu/
>>>>>> Apache Directory Server :: http://directory.apache.org
>>>>>> Apache MINA :: http://mina.apache.org
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Mime
View raw message