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 Mon, 30 Nov 2009 17:34:47 GMT
A clarification:
 32767 is not the limit for the LDAP filter, but the limit for the xml
generated
to represent the ldap filter from the OraclePartition class using xstream,
so
the real ldap filter limit could be really smaller but enough for ~99% of
cases,
IMUO.

Andrea

2009/11/30 Andrea Gariboldi <andrea.gariboldi@gmail.com>

> Ok,
>  updated the newfacade.sql with fixes for the rename method:
> https://issues.apache.org/jira/secure/attachment/12426430/newfacade.sql
>
> reuploaded the apacheds-oracle-1.5.5.tar.gz with the fixes you suggested:
>
> https://issues.apache.org/jira/secure/attachment/12426431/apacheds-oracle-1.5.5.tar.gz
>
> About the long filter i can implement a CLOB filter instead of a VARCHAR2
> one but it'll slow down
> all the searches so, may be as you said that is not so critical considering
> that the actual limit should
> be 32767 bytes.
>
> cheers,
> Andrea
>
> 2009/11/30 Самоделкин Михаил <samodelkin.m@tut.by>
>
> Hello Andrea,
>>
>> Great! Now oracle partition works fine with modify operation.
>> *And now, my JUnit tests fails only in two cases: if I define very long
>> LDAP search filter,*
>>
>> Exception occured during LDAP processing; nested exception is
>> javax.naming. NamingException: [LDAP: error code 80 - OTHER: failed for
>> SearchRequest
>>         baseDn: ' 0.9.2342.19200300.100.1.25=example,
>> 0.9.2342.19200300.100.1.25=com '
>>         filter: ' (AND (1.137 = *) (1.143> =200) (| (1.137
>> =*some_some_value *) (1.144 =*name *) (1.138 =*name *)) (|
>> (1.119=some_value_5) (1.119=some_value_6) (1.119=some_value_7)
>> (1.119=some_value_8) (1.119=some_value_9) (1.119=some_value_14)
>> (1.119=some_value_13) (1.119=some_value_12) (1.119=some_value_11)
>> (1.119=some_value_10) (1.119=some_value_15) (1.119=some_value_16)
>> (1.119=some_value_17) (1.119=some_value_18) (1.119=some_value_19)
>> (1.119=some_value_20) (1.119=some_value_21) (1.119=some_value_22)
>> (1.119=some_value_23) (1.119=some_value_24) (1.119=some_value_29)
>> (1.119=some_value_28) (1.119=some_value_27) (1.119=some_value_26)
>> (1.119=some_value_25) (1.119=some_value_30) (1.119=some_value_31)
>> (1.119=some_value_32) (1.119=some_value_33) (1.119=value3333)) (|
>> (0.9.2342.19200300.100.1.1=user_3) (0.9.2342.19200300.100.1.1=user_2)
>> (0.9.2342.19200300.100.1.1=user_1)) (2.5.4.0=Users)) '
>>         scope: whole subtree
>>         typesOnly: false
>>         Size Limit: no limit
>>         Time Limit: no limit
>>         Deref Aliases: deref Always
>>         attributes:
>> : ORA-01460: unimplemented or unreasonable conversion requested
>> ]; remaining name ' / '
>>
>> But in my case i would implement search by data base VIEW using your
>> indexed tables for each attribute, because ApacheDS does not support server
>> side paging.
>>
>> *And when I try to modify entry Distinguished Name (to reproduce this,
>> you can simply create an user entry with objectClass=inetOrgPerson in
>> ApacheDS Studio, and set for it cn="user_0" and than try to modify "cn" to
>> cn="user_0_newDN"), *
>>
>> [15:09:13] DEBUG [org.apache.directory.shared.ldap.codec. TwixEncoder] -
>> Encoding this LdapMessage: LdapMessage
>>     message Id: 5
>>     Modify DN Response
>>         Ldap Result
>>             Result code: (NO_SUCH_OBJECT) noSuchObject
>>             Matched DN: ' ou=Users, dc=example, dc=com '
>>             Error message: ' NO_SUCH_OBJECT: failed for ModifyDN Response
>>         Entry: ' 0.9.2342.19200300.100.1.1=user_0,2.5.4.11=Users,
>> 0.9.2342.19200300.100.1.25=example, 0.9.2342.19200300.100.1.25=com '
>>         New RDN: ' 0.9.2342.19200300.100.1.1=user_0_newDN
>>         Delete old RDN: true
>> : Attempt to lookup non-existant entry: uid=user_0, ou = Users,
>> dc=example, dc=com:
>> org.apache.directory.shared.ldap.exception. LdapNameNotFoundException:
>> Attempt to lookup non-existant entry: uid=user_0, ou=Users, dc=example,
>> dc=com
>>  at org.apache.directory.server.core.exception.
>> ExceptionInterceptor.assertHasEntry (ExceptionInterceptor.java:581)
>>  at org.apache.directory.server.core.exception.
>> ExceptionInterceptor.lookup (ExceptionInterceptor.java:305)
>>  at org.apache.directory.server.core.interceptor.
>> InterceptorChain$Entry$1.lookup (InterceptorChain.java:1279)
>>  at org.apache.directory.server.core.interceptor. BaseInterceptor.lookup
>> (BaseInterceptor.java:178)
>>  at org.apache.directory.server.core.interceptor. InterceptorChain.lookup
>> (InterceptorChain.java:889)
>>  at org.apache.directory.server.core. DefaultOperationManager.lookup
>> (DefaultOperationManager.java:609)
>>  at org.apache.directory.server.core.interceptor.context.
>> AbstractOperationContext.lookup (AbstractOperationContext.java:345)
>>  at org.apache.directory.server.core.authz.
>> AciAuthorizationInterceptor.rename (AciAuthorizationInterceptor.java:804)
>>  at org.apache.directory.server.core.interceptor.
>> InterceptorChain$Entry$1.rename (InterceptorChain.java:1321)
>>  at org.apache.directory.server.core.referral. ReferralInterceptor.rename
>> (ReferralInterceptor.java:376)
>>  at org.apache.directory.server.core.interceptor.
>> InterceptorChain$Entry$1.rename (InterceptorChain.java:1321)
>>  at org.apache.directory.server.core.authn.
>> AuthenticationInterceptor.rename (AuthenticationInterceptor.java:349)
>>  at org.apache.directory.server.core.interceptor.
>> InterceptorChain$Entry$1.rename (InterceptorChain.java:1321)
>>  at org.apache.directory.server.core.normalisation.
>> NormalizationInterceptor.rename (NormalizationInterceptor.java:161)
>>  at org.apache.directory.server.core.interceptor. InterceptorChain.rename
>> (InterceptorChain.java:934)
>>  at org.apache.directory.server.core. DefaultOperationManager.rename
>> (DefaultOperationManager.java:980)
>>  at org.apache.directory.server.core. DefaultCoreSession.rename
>> (DefaultCoreSession.java:901)
>>  at org.apache.directory.server.core. DefaultCoreSession.rename
>> (DefaultCoreSession.java:887)
>>  at org.apache.directory.server.ldap.handlers. ModifyDnHandler.handle
>> (ModifyDnHandler.java:99)
>>  at org.apache.directory.server.ldap.handlers. ModifyDnHandler.handle
>> (ModifyDnHandler.java:40)
>>
>>  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)
>> '
>>
>> Also there are small remarks concerning server.xml, you seem have
>> forgotten to correct
>>
>> xmlns = "http://apacheds.org/config/1.5.5-SNAPSHOT"
>> to
>> xmlns = "http://apacheds.org/config/1.5.5"
>>
>> and may be section with user name from "dsorapart" to "apacheds"
>>
>> in
>>
>> <s:bean id = "Db10gDataSource" class = "oracle.jdbc.pool.
>> OracleDataSource">
>>     <! - configure oracle->
>>     <s:property name = "user"> <s:value> dsorapart2 </s:value>
>> </s:property>
>>     <s:property name = "password"> <s:value> dsorapart2 </s:value>
>> </s:property>
>>     <s:property name = "driverType"> <s:value> thin </s:value>
>> </s:property>
>>     <s:property name = "portNumber"> <s:value> 1521 </s:value>
>> </s:property>
>>     <s:property name = "serverName"> <s:value> localhost </s:value>
>> </s:property>
>>     <s:property name = "databaseName"> <s:value> db10g </s:value>
>> </s:property>
>>   </s:bean>
>>
>> Thank you.
>>
>> 2009/11/28 Andrea Gariboldi <andrea.gariboldi@gmail.com>
>>
>> Ok Mikhail,
>>>   this is what you should do to patch your site:
>>>
>>> 1. sqlplus <apacheds user>/<apacheds pwd>@<your db> @newfacade.sql
>>>
>>> 2. use the new apacheds-oracle-1.5.5.jar
>>>
>>> 3. let me know
>>>
>>> I've tested it with add/replace/remove all/remove specific value, and it
>>> seems
>>> to work smoothly.
>>>
>>> You can download sources and binaries here:
>>> https://issues.apache.org/jira/browse/DIRSERVER-1345
>>>
>>>
>>> https://issues.apache.org/jira/secure/attachment/12426307/apacheds-oracle-1.5.5.tar.gz(contains the apacheds-oracle-1.5.5.jar)
>>>
>>> https://issues.apache.org/jira/secure/attachment/12426308/newfacade.sql(patch for your plsql)
>>>
>>> This wants to be a pretty good release for 1.5.5, a beta oracle backend
>>> for users, the final integration
>>> should come with 2.x releases..
>>>
>>> cheers,
>>> Andrea
>>>
>>>
>>> 2009/11/27 Andrea Gariboldi <andrea.gariboldi@gmail.com>
>>>
>>>> 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