You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2013/06/20 16:36:20 UTC

[jira] [Commented] (DIRSERVER-1864) search fails in ApacheDS using Spring LDAP

    [ https://issues.apache.org/jira/browse/DIRSERVER-1864?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13689280#comment-13689280 ] 

Emmanuel Lecharny commented on DIRSERVER-1864:
----------------------------------------------

As I said, it's likely to be connected with an error (DIRSERVER-1862) we fixed yesterday. Namely, some search is done while some update is done at the same time.

We are just in the process of cutting a new release.
                
> search fails in ApacheDS using Spring LDAP
> ------------------------------------------
>
>                 Key: DIRSERVER-1864
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1864
>             Project: Directory ApacheDS
>          Issue Type: Bug
>    Affects Versions: 2.0.0-M12
>         Environment: RedHat 5.8 
> java version "1.6.0_45" 
> Java(TM) SE Runtime Environment (build 1.6.0_45-b06) 
> Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
>            Reporter: Slavomir Kocka
>            Priority: Blocker
>
> When searching using Spring LDAP, after some time we get following error in Websphere Logs:
> [6/20/13 13:35:42:921 CEST] 000000f8 UserServiceEn E sk.statistics.isis.ivisiam.common.exceptions.ExceptionHandler toIsisFault generateUserAccounts - IVIS-109000 InternalError
>                                  sk.statistics.isis.ivisiam.common.exceptions.BusinessServiceException: InternalError
> 	at sk.statistics.isis.ivisiam.common.exceptions.ExceptionHandler.toIsisFault(ExceptionHandler.java:32)
> 	at sk.statistics.isis.ivisiam.ws.UserServiceEndpoint.generateUserAccounts(UserServiceEndpoint.java:550)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> 	at java.lang.reflect.Method.invoke(Method.java:611)
> 	at org.apache.axis2.jaxws.server.dispatcher.JavaDispatcher.invokeTargetOperation(JavaDispatcher.java:101)
> 	at org.apache.axis2.jaxws.server.dispatcher.JavaBeanDispatcher.invoke(JavaBeanDispatcher.java:118)
> 	at org.apache.axis2.jaxws.server.EndpointController.invoke(EndpointController.java:111)
> 	at org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:161)
> 	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:208)
> 	at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
> 	at com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.doPost(WASAxis2Servlet.java:1517)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1224)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
> 	at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1032)
> 	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
> 	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:895)
> 	at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
> 	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
> 	at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
> 	at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
> 	at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
> 	at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
> 	at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
> 	at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
> 	at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1659)
> Caused by: org.springframework.ldap.UncategorizedLdapException: Uncategorized exception occured during LDAP processing; nested exception is javax.naming.NamingException: [LDAP: error code 80 - OTHER: failed for MessageType : SEARCH_REQUEST
> Message ID : 2
>     SearchRequest
>         baseDn : 'ou=usersCreated,ou=users,ou=ivisIam'
>         filter : '(&(objectClass=person:[1182])(cn=152_704_526371*:[?]))'
>         scope : whole subtree
>         typesOnly : false
>         Size Limit : no limit
>         Time Limit : no limit
>         Deref Aliases : deref Always
>         attributes : 
> org.apache.directory.api.ldap.model.message.SearchRequestImpl@6ee08536    ManageDsaITImpl Control
>         Type OID    : '2.16.840.1.113730.3.4.2'
>         Criticality : 'false'
> '
> : null]; Remaining name: 'ou=usersCreated,ou=users'
> 	at org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:217)
> 	at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:319)
> 	at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:259)
> 	at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:606)
> 	at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:524)
> 	at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:473)
> 	at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:493)
> 	at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:513)
> 	at sk.statistics.isis.ivisiam.service.impl.UserAccountServiceImpl.findUserAccountsByAttribute(UserAccountServiceImpl.java:284)
> 	at sk.statistics.isis.ivisiam.service.impl.UserAccountServiceImpl.findUserAccountsByAttributeLike(UserAccountServiceImpl.java:251)
> 	at sk.statistics.isis.ivisiam.service.impl.UserAccountServiceImpl.findGeneratedUsers(UserAccountServiceImpl.java:533)
> 	at sk.statistics.isis.ivisiam.ws.UserServiceEndpoint.generateUserAccounts(UserServiceEndpoint.java:474)
> 	... 34 more
> Caused by: javax.naming.NamingException: [LDAP: error code 80 - OTHER: failed for MessageType : SEARCH_REQUEST
> Message ID : 2
>     SearchRequest
>         baseDn : 'ou=usersCreated,ou=users,ou=ivisIam'
>         filter : '(&(objectClass=person:[1182])(cn=152_704_526371*:[?]))'
>         scope : whole subtree
>         typesOnly : false
>         Size Limit : no limit
>         Time Limit : no limit
>         Deref Aliases : deref Always
>         attributes : 
> org.apache.directory.api.ldap.model.message.SearchRequestImpl@6ee08536    ManageDsaITImpl Control
>         Type OID    : '2.16.840.1.113730.3.4.2'
>         Criticality : 'false'
> '
> : null]; Remaining name: 'ou=usersCreated,ou=users'
> 	at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3123)
> 	at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3025)
> 	at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2832)
> 	at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1841)
> 	at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1764)
> 	at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:380)
> 	at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:350)
> 	at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:333)
> 	at org.apache.aries.jndi.DelegateContext.search(DelegateContext.java:365)
> 	at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:245)
> 	at org.springframework.ldap.core.LdapTemplate$4.executeSearch(LdapTemplate.java:253)
> 	at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:293)
> 	... 44 more
> After enabling some more logging in ApacheDS we got also some errors there (it is not the log from same incident as above):
> [13:59:16] DEBUG [org.apache.directory.server.ldap.handlers.request.BindRequestHandler] - Returned SUCCESS message: MessageType : BIND_RESPONSE
> Message ID : 1
>     BindResponse
>         Ldap Result
>             Result code : (SUCCESS) success
>             Matched Dn : 'null'
>             Diagnostic message : 'null'
> .
> [13:59:16] DEBUG [org.apache.directory.server.ldap.handlers.request.SearchRequestHandler] - Handling single reply request: MessageType : SEARCH_REQUEST
> Message ID : 2
>     SearchRequest
>         baseDn : 'ou=usersCreated,ou=users,ou=ivisIam'
>         filter : '(&(objectclass=person)(cn=152_713_528731*))'
>         scope : whole subtree
>         typesOnly : false
>         Size Limit : no limit
>         Time Limit : no limit
>         Deref Aliases : deref Always
>         attributes : 
> org.apache.directory.api.ldap.model.message.SearchRequestImpl@648f9f60    ManageDsaITImpl Control
>         Type OID    : '2.16.840.1.113730.3.4.2'
>         Criticality : 'false'
> '
> [13:59:16] DEBUG [org.apache.directory.server.ldap.handlers.request.SearchRequestHandler] - ManageDsaITControl detected.
> [13:59:16] DEBUG [org.apache.directory.server.ldap.handlers.request.SearchRequestHandler] - Message received:  MessageType : SEARCH_REQUEST
> Message ID : 2
>     SearchRequest
>         baseDn : 'ou=usersCreated,ou=users,ou=ivisIam'
>         filter : '(&(cn=152_713_528731*)(objectclass=person))'
>         scope : whole subtree
>         typesOnly : false
>         Size Limit : no limit
>         Time Limit : no limit
>         Deref Aliases : deref Always
>         attributes : 
> org.apache.directory.api.ldap.model.message.SearchRequestImpl@648f9f60    ManageDsaITImpl Control
>         Type OID    : '2.16.840.1.113730.3.4.2'
>         Criticality : 'false'
> '
> [13:59:16] DEBUG [org.apache.directory.server.ldap.handlers.request.SearchRequestHandler] - using <9223372036854775807,9223372036854775807> for size limit
> [13:59:17] DEBUG [org.apache.directory.server.ldap.handlers.request.SearchRequestHandler] - OTHER: failed for MessageType : SEARCH_REQUEST
> Message ID : 2
>     SearchRequest
>         baseDn : 'ou=usersCreated,ou=users,ou=ivisIam'
>         filter : '(&(cn=152_713_528731*:[?])(objectClass=person:[1182]))'
>         scope : whole subtree
>         typesOnly : false
>         Size Limit : no limit
>         Time Limit : no limit
>         Deref Aliases : deref Always
>         attributes : 
> org.apache.directory.api.ldap.model.message.SearchRequestImpl@ee260f6b    ManageDsaITImpl Control
>         Type OID    : '2.16.840.1.113730.3.4.2'
>         Criticality : 'false'
> '
> : null
> org.apache.directory.api.ldap.model.cursor.CursorException
> 	at org.apache.directory.server.core.partition.impl.btree.EntryCursorAdaptor.get(EntryCursorAdaptor.java:185)
> 	at org.apache.directory.server.core.partition.impl.btree.EntryCursorAdaptor.get(EntryCursorAdaptor.java:45)
> 	at org.apache.directory.server.core.api.filtering.BaseEntryFilteringCursor.next(BaseEntryFilteringCursor.java:379)
> 	at org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.writeResults(SearchRequestHandler.java:391)
> 	at org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.doSimpleSearch(SearchRequestHandler.java:841)
> 	at org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handleIgnoringReferrals(SearchRequestHandler.java:1148)
> 	at org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handle(SearchRequestHandler.java:206)
> 	at org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handle(SearchRequestHandler.java:92)
> 	at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:207)
> 	at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:56)
> 	at org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:221)
> 	at org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:217)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:690)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
> 	at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74)
> 	at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
> 	at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:474)
> 	at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:428)
> 	at java.lang.Thread.run(Thread.java:662)
> Caused by: org.apache.directory.api.ldap.model.exception.LdapOperationErrorException
> 	at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.fetch(AbstractBTreePartition.java:1083)
> 	at org.apache.directory.server.xdbm.search.evaluator.SubtreeScopeEvaluator.evaluate(SubtreeScopeEvaluator.java:169)
> 	at org.apache.directory.server.xdbm.search.evaluator.AndEvaluator.evaluate(AndEvaluator.java:110)
> 	at org.apache.directory.server.core.partition.impl.btree.EntryCursorAdaptor.get(EntryCursorAdaptor.java:169)
> 	... 20 more
> Caused by: org.apache.directory.api.ldap.model.exception.LdapOtherException
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmTable.get(JdbmTable.java:353)
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex.reverseLookup(JdbmIndex.java:364)
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex.reverseLookup(JdbmIndex.java:59)
> 	at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.buildEntryDn(AbstractBTreePartition.java:2102)
> 	at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.fetch(AbstractBTreePartition.java:1077)
> 	... 23 more
> [13:59:17] DEBUG [org.apache.directory.server.ldap.handlers.request.UnbindRequestHandler] - Received: MessageType : UNBIND_REQUEST
> Message ID : 3
>     UnBind Requestorg.apache.directory.api.ldap.model.message.UnbindRequestImpl@41fedc8c    ManageDsaITImpl Control
>         Type OID    : '2.16.840.1.113730.3.4.2'
>         Criticality : 'false'
> '
> This issue we already noticed in ApacheDS 1.5.7 and it was the reason we moved towards 2.0.0.M* version...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira