Hi Mikhail, did you modified anything else on the class? Could you please write to the [email protected], so that others can see the thread?
Andrea 2009/11/24 Alex Karasulu <[email protected]> > 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 <[email protected]> > >> Could you please attach you OraclePartition.java? >> >> Andrea >> >> 2009/11/24 Самоделкин Михаил <[email protected]> >> >>> 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 <[email protected]> >>> >>>> Can you check the apacheds server log files for exceptions? >>>> I cannot reproduce the error in my env.. >>>> >>>> Andrea >>>> >>>> 2009/11/24 Самоделкин Михаил <[email protected]> >>>> >>>>> 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 <[email protected]> >>>>> >>>>>> To apply the patch simply: >>>>>> cd apacheds-oracle >>>>>> patch -p0 < mar.patch >>>>>> mvn compile >>>>>> mvn package >>>>>> ... >>>>>> >>>>>> Andrea >>>>>> >>>>>> >>>>>> 2009/11/24 Andrea Gariboldi <[email protected]> >>>>>> >>>>>>> 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 Самоделкин Михаил <[email protected]> >>>>>>> >>>>>>>> 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 <[email protected]> >>>>>>>> >>>>>>>> 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 Самоделкин Михаил <[email protected]> >>>>>>>>> >>>>>>>>> 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 > >
