Got to know that about 40 users per second are authenticated in this case..
This level of scalability should be supported by ApacheDS side as per [1].
Therefore, will take a look at the ways in which we can optimize the
connection to LDAP from carbon product's side, to avoid this.

[1] http://osdir.com/ml/users-directory-apache/2011-05/msg00018.html

Thanks,
Hasini.

On Thu, Oct 6, 2011 at 1:01 PM, Thilina Buddhika <[email protected]> wrote:

> I can reproduce this consistently. This can be reproduced by trying to
> authenticate users against LDAP with a concurrency of 10 or higher in a high
> end machine. I am running a load test against IS in a quad core machine with
> HT.
>
> Thanks,
> Thilina
>
>
> On Fri, May 6, 2011 at 12:17 AM, Amila Jayasekara <[email protected]> wrote:
>
>> Hi Danushka,
>>
>> I was not able to re-produce this issue in my local machine.
>> Can you please give us specific steps.
>>
>> According to error message, the user store is unable to connect to
>> LDAP server. This could be due to LDAP server is down.
>>
>> Thanks
>> AmilaJ
>>
>> On Thu, May 5, 2011 at 11:26 AM, Danushka Menikkumbura
>> <[email protected]> wrote:
>> > It is intermittent. Server runs fine for some time and then starts to
>> gives
>> > this error.
>> >
>> > Danushka
>> >
>> > On Thu, May 5, 2011 at 11:20 AM, Danushka Menikkumbura <
>> [email protected]>
>> > wrote:
>> >>
>> >> I see the port is open and directory service is on it.
>> >>
>> >> Danushka
>> >>
>> >> On Thu, May 5, 2011 at 11:17 AM, Danushka Menikkumbura <
>> [email protected]>
>> >> wrote:
>> >>>
>> >>> I see this in the latest MB pack I just built.
>> >>>
>> >>> [2011-05-05 10:59:02,584] ERROR
>> >>> {org.wso2.carbon.user.core.ldap.LDAPConnectionContext} -  Error
>> obtaining
>> >>> connection. localhost:10389
>> >>> {org.wso2.carbon.user.core.ldap.LDAPConnectionContext}
>> >>> javax.naming.CommunicationException: localhost:10389 [Root exception
>> is
>> >>> java.net.NoRouteToHostException: Cannot assign requested address]
>> >>>     at com.sun.jndi.ldap.Connection.<init>(Connection.java:210)
>> >>>     at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:118)
>> >>>     at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1580)
>> >>>     at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2652)
>> >>>     at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:293)
>> >>>     at
>> >>> com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)
>> >>>     at
>> >>> com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193)
>> >>>     at
>> >>>
>> com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)
>> >>>     at
>> >>>
>> com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)
>> >>>     at
>> >>>
>> org.wso2.carbon.utils.multitenancy.CarbonContextHolder$CarbonInitialJNDIContextFactory.getInitialContext(CarbonContextHolder.java:754)
>> >>>     at
>> >>>
>> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
>> >>>     at
>> >>> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
>> >>>     at javax.naming.InitialContext.init(InitialContext.java:223)
>> >>>     at javax.naming.InitialContext.<init>(InitialContext.java:197)
>> >>>     at
>> >>>
>> javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:82)
>> >>>     at
>> >>>
>> org.wso2.carbon.user.core.ldap.LDAPConnectionContext.getContext(LDAPConnectionContext.java:86)
>> >>>     at
>> >>>
>> org.wso2.carbon.user.core.ldap.LDAPUserStoreManager.getListOfNames(LDAPUserStoreManager.java:679)
>> >>>     at
>> >>>
>> org.wso2.carbon.user.core.ldap.LDAPUserStoreManager.getRoleListOfUser(LDAPUserStoreManager.java:550)
>> >>>     at
>> >>>
>> org.wso2.carbon.qpid.authorization.qpid.QpidAuthorizationHandler.isAdminUser(QpidAuthorizationHandler.java:357)
>> >>>     at
>> >>>
>> org.wso2.carbon.qpid.authorization.qpid.QpidAuthorizationHandler.handleConsumeQueue(QpidAuthorizationHandler.java:115)
>> >>>     at
>> >>>
>> org.wso2.carbon.qpid.authorization.service.qpid.QpidAuthorizationPlugin.authorise(QpidAuthorizationPlugin.java:147)
>> >>>     at
>> >>>
>> org.apache.qpid.server.security.SecurityManager$5.allowed(SecurityManager.java:321)
>> >>>     at
>> >>>
>> org.apache.qpid.server.security.SecurityManager.checkAllPlugins(SecurityManager.java:245)
>> >>>     at
>> >>>
>> org.apache.qpid.server.security.SecurityManager.authoriseConsume(SecurityManager.java:317)
>> >>>     at
>> >>>
>> org.apache.qpid.server.queue.SimpleAMQQueue.registerSubscription(SimpleAMQQueue.java:407)
>> >>>     at
>> >>>
>> org.apache.qpid.server.transport.ServerSessionDelegate.messageSubscribe(ServerSessionDelegate.java:260)
>> >>>     at
>> >>>
>> org.apache.qpid.server.transport.ServerSessionDelegate.messageSubscribe(ServerSessionDelegate.java:96)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.MessageSubscribe.dispatch(MessageSubscribe.java:119)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.SessionDelegate.command(SessionDelegate.java:50)
>> >>>     at
>> >>>
>> org.apache.qpid.server.transport.ServerSessionDelegate.command(ServerSessionDelegate.java:112)
>> >>>     at
>> >>>
>> org.apache.qpid.server.transport.ServerSessionDelegate.command(ServerSessionDelegate.java:96)
>> >>>     at org.apache.qpid.transport.Method.delegate(Method.java:159)
>> >>>     at org.apache.qpid.transport.Session.received(Session.java:500)
>> >>>     at
>> org.apache.qpid.transport.Connection.dispatch(Connection.java:404)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:64)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:40)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.MethodDelegate.messageSubscribe(MethodDelegate.java:131)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.MessageSubscribe.dispatch(MessageSubscribe.java:119)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.ConnectionDelegate.command(ConnectionDelegate.java:54)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.ConnectionDelegate.command(ConnectionDelegate.java:40)
>> >>>     at org.apache.qpid.transport.Method.delegate(Method.java:159)
>> >>>     at
>> org.apache.qpid.transport.Connection.received(Connection.java:369)
>> >>>     at
>> >>>
>> org.apache.qpid.server.transport.ServerConnection.received(ServerConnection.java:196)
>> >>>     at
>> >>>
>> org.apache.qpid.server.transport.ServerConnection.received(ServerConnection.java:53)
>> >>>     at
>> >>> org.apache.qpid.transport.network.Assembler.emit(Assembler.java:95)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.network.Assembler.assemble(Assembler.java:196)
>> >>>     at
>> >>> org.apache.qpid.transport.network.Assembler.frame(Assembler.java:129)
>> >>>     at
>> org.apache.qpid.transport.network.Frame.delegate(Frame.java:133)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.network.Assembler.received(Assembler.java:100)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.network.Assembler.received(Assembler.java:42)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.network.InputHandler.next(InputHandler.java:187)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.network.InputHandler.received(InputHandler.java:103)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.network.InputHandler.received(InputHandler.java:42)
>> >>>     at
>> >>>
>> org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:102)
>> >>>     at
>> >>>
>> org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:36)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.network.mina.MINANetworkDriver.messageReceived(MINANetworkDriver.java:337)
>> >>>     at
>> >>>
>> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:703)
>> >>>     at
>> >>>
>> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
>> >>>     at
>> >>>
>> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
>> >>>     at
>> >>>
>> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
>> >>>     at
>> >>>
>> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:243)
>> >>>     at
>> >>>
>> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:305)
>> >>>     at
>> >>>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
>> >>>     at
>> >>>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
>> >>>     at java.lang.Thread.run(Thread.java:619)
>> >>> Caused by: java.net.NoRouteToHostException: Cannot assign requested
>> >>> address
>> >>>     at java.net.PlainSocketImpl.socketConnect(Native Method)
>> >>>     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>> >>>     at
>> >>> java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
>> >>>     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>> >>>     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
>> >>>     at java.net.Socket.connect(Socket.java:529)
>> >>>     at java.net.Socket.connect(Socket.java:478)
>> >>>     at java.net.Socket.<init>(Socket.java:375)
>> >>>     at java.net.Socket.<init>(Socket.java:189)
>> >>>     at com.sun.jndi.ldap.Connection.createSocket(Connection.java:352)
>> >>>     at com.sun.jndi.ldap.Connection.<init>(Connection.java:187)
>> >>>     ... 64 more
>> >>> [2011-05-05 10:59:02,654] ERROR
>> >>> {org.wso2.carbon.user.core.ldap.LDAPConnectionContext} -  Trying again
>> to
>> >>> get connection. {org.wso2.carbon.user.core.ldap.LDAPConnectionContext}
>> >>> [2011-05-05 10:59:02,656] ERROR
>> >>> {org.wso2.carbon.user.core.ldap.LDAPConnectionContext} -  Error
>> obtaining
>> >>> connection. localhost:10389
>> >>> {org.wso2.carbon.user.core.ldap.LDAPConnectionContext}
>> >>> javax.naming.CommunicationException: localhost:10389 [Root exception
>> is
>> >>> java.net.NoRouteToHostException: Cannot assign requested address]
>> >>>     at com.sun.jndi.ldap.Connection.<init>(Connection.java:210)
>> >>>     at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:118)
>> >>>     at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1580)
>> >>>     at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2652)
>> >>>     at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:293)
>> >>>     at
>> >>> com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)
>> >>>     at
>> >>> com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193)
>> >>>     at
>> >>>
>> com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)
>> >>>     at
>> >>>
>> com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)
>> >>>     at
>> >>>
>> org.wso2.carbon.utils.multitenancy.CarbonContextHolder$CarbonInitialJNDIContextFactory.getInitialContext(CarbonContextHolder.java:754)
>> >>>     at
>> >>>
>> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
>> >>>     at
>> >>> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
>> >>>     at javax.naming.InitialContext.init(InitialContext.java:223)
>> >>>     at javax.naming.InitialContext.<init>(InitialContext.java:197)
>> >>>     at
>> >>>
>> javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:82)
>> >>>     at
>> >>>
>> org.wso2.carbon.user.core.ldap.LDAPConnectionContext.getContext(LDAPConnectionContext.java:86)
>> >>>     at
>> >>>
>> org.wso2.carbon.user.core.ldap.LDAPUserStoreManager.searchForUser(LDAPUserStoreManager.java:397)
>> >>>     at
>> >>>
>> org.wso2.carbon.user.core.ldap.LDAPUserStoreManager.getNameInSpaceForUserName(LDAPUserStoreManager.java:603)
>> >>>     at
>> >>>
>> org.wso2.carbon.user.core.ldap.LDAPUserStoreManager.getRoleListOfUser(LDAPUserStoreManager.java:543)
>> >>>     at
>> >>>
>> org.wso2.carbon.qpid.authorization.qpid.QpidAuthorizationHandler.isAdminUser(QpidAuthorizationHandler.java:357)
>> >>>     at
>> >>>
>> org.wso2.carbon.qpid.authorization.qpid.QpidAuthorizationHandler.handlePublishToExchange(QpidAuthorizationHandler.java:230)
>> >>>     at
>> >>>
>> org.wso2.carbon.qpid.authorization.service.qpid.QpidAuthorizationPlugin.authorise(QpidAuthorizationPlugin.java:144)
>> >>>     at
>> >>>
>> org.apache.qpid.server.security.SecurityManager$11.allowed(SecurityManager.java:390)
>> >>>     at
>> >>>
>> org.apache.qpid.server.security.SecurityManager.checkAllPlugins(SecurityManager.java:245)
>> >>>     at
>> >>>
>> org.apache.qpid.server.security.SecurityManager.authorisePublish(SecurityManager.java:386)
>> >>>     at
>> >>>
>> org.apache.qpid.server.transport.ServerSessionDelegate.messageTransfer(ServerSessionDelegate.java:307)
>> >>>     at
>> >>>
>> org.apache.qpid.server.transport.ServerSessionDelegate.messageTransfer(ServerSessionDelegate.java:96)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.MessageTransfer.dispatch(MessageTransfer.java:108)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.SessionDelegate.command(SessionDelegate.java:50)
>> >>>     at
>> >>>
>> org.apache.qpid.server.transport.ServerSessionDelegate.command(ServerSessionDelegate.java:112)
>> >>>     at
>> >>>
>> org.apache.qpid.server.transport.ServerSessionDelegate.command(ServerSessionDelegate.java:96)
>> >>>     at org.apache.qpid.transport.Method.delegate(Method.java:159)
>> >>>     at org.apache.qpid.transport.Session.received(Session.java:500)
>> >>>     at
>> org.apache.qpid.transport.Connection.dispatch(Connection.java:404)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:64)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:40)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.MethodDelegate.messageTransfer(MethodDelegate.java:113)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.MessageTransfer.dispatch(MessageTransfer.java:108)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.ConnectionDelegate.command(ConnectionDelegate.java:54)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.ConnectionDelegate.command(ConnectionDelegate.java:40)
>> >>>     at org.apache.qpid.transport.Method.delegate(Method.java:159)
>> >>>     at
>> org.apache.qpid.transport.Connection.received(Connection.java:369)
>> >>>     at
>> >>>
>> org.apache.qpid.server.transport.ServerConnection.received(ServerConnection.java:196)
>> >>>     at
>> >>>
>> org.apache.qpid.server.transport.ServerConnection.received(ServerConnection.java:53)
>> >>>     at
>> >>> org.apache.qpid.transport.network.Assembler.emit(Assembler.java:95)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.network.Assembler.assemble(Assembler.java:217)
>> >>>     at
>> >>> org.apache.qpid.transport.network.Assembler.frame(Assembler.java:129)
>> >>>     at
>> org.apache.qpid.transport.network.Frame.delegate(Frame.java:133)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.network.Assembler.received(Assembler.java:100)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.network.Assembler.received(Assembler.java:42)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.network.InputHandler.next(InputHandler.java:187)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.network.InputHandler.received(InputHandler.java:103)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.network.InputHandler.received(InputHandler.java:42)
>> >>>     at
>> >>>
>> org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:102)
>> >>>     at
>> >>>
>> org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:36)
>> >>>     at
>> >>>
>> org.apache.qpid.transport.network.mina.MINANetworkDriver.messageReceived(MINANetworkDriver.java:337)
>> >>>     at
>> >>>
>> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:703)
>> >>>     at
>> >>>
>> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
>> >>>     at
>> >>>
>> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
>> >>>     at
>> >>>
>> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
>> >>>     at
>> >>>
>> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:243)
>> >>>     at
>> >>>
>> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:305)
>> >>>     at
>> >>>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
>> >>>     at
>> >>>
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
>> >>>     at java.lang.Thread.run(Thread.java:619)
>> >>> Caused by: java.net.NoRouteToHostException: Cannot assign requested
>> >>> address
>> >>>     at java.net.PlainSocketImpl.socketConnect(Native Method)
>> >>>     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>> >>>     at
>> >>> java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
>> >>>     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>> >>>     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
>> >>>     at java.net.Socket.connect(Socket.java:529)
>> >>>     at java.net.Socket.connect(Socket.java:478)
>> >>>     at java.net.Socket.<init>(Socket.java:375)
>> >>>     at java.net.Socket.<init>(Socket.java:189)
>> >>>     at com.sun.jndi.ldap.Connection.createSocket(Connection.java:352)
>> >>>     at com.sun.jndi.ldap.Connection.<init>(Connection.java:187)
>> >>>     ... 64 more
>> >>
>> >
>> >
>> > _______________________________________________
>> > Carbon-dev mailing list
>> > [email protected]
>> > http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>> >
>> >
>> _______________________________________________
>> Carbon-dev mailing list
>> [email protected]
>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>
>
>
>
> --
> Thilina Buddhika
> Associate Technical Lead
> WSO2 Inc. ; http://wso2.com
> lean . enterprise . middleware
>
> phone : +94 77 44 88 727
> blog : http://blog.thilinamb.com
>
_______________________________________________
Carbon-dev mailing list
[email protected]
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to