Uploaded image for project: 'Directory ApacheDS'
  1. Directory ApacheDS
  2. DIRSERVER-1864

search fails in ApacheDS using Spring LDAP

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Blocker
    • Resolution: Unresolved
    • 2.0.0-M12
    • None
    • jdbm, ldap
    • None
    • 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)

    Description

      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...

      Attachments

        Activity

          People

            Unassigned Unassigned
            kockas Slavomir Kocka
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: