You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@archiva.apache.org by "Maria Odea Ching (JIRA)" <ji...@codehaus.org> on 2011/08/25 11:43:32 UTC

[jira] Commented: (MRM-1488) Using Archiva as proxy for downloading artifacts is very slow when used with LDAP authentication

    [ https://jira.codehaus.org/browse/MRM-1488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=276988#comment-276988 ] 

Maria Odea Ching commented on MRM-1488:
---------------------------------------

Discussion in community thread:

http://old.nabble.com/Archiva-issue-with-LDAP-%28MRM-1488%29-td32324272.html

> Using Archiva as proxy for downloading artifacts is very slow when used with LDAP authentication
> ------------------------------------------------------------------------------------------------
>
>                 Key: MRM-1488
>                 URL: https://jira.codehaus.org/browse/MRM-1488
>             Project: Archiva
>          Issue Type: Bug
>          Components: remote proxy
>            Reporter: Maria Odea Ching
>            Assignee: Maria Odea Ching
>            Priority: Critical
>             Fix For: 1.4-M1
>
>
> Ran {{mvn clean install}} on a local checkout of {{Archiva Parent}} project:
> * LDAP, clean local repo and clean proxy repo: ~1hr
> * LDAP, clean local repo and populated proxy repo: ~30mins
> * database, clean local repo and clean proxy repo: 9mins
> * database, clean local repo and populated proxy repo: 20s
> I removed any {{Repository Observer}} role access for the guest account btw, so *all artifact requests go through authentication*.
> When configured with LDAP, the build hanged at times and I had to cancel it. I noticed this happens when there's a problem connecting to the LDAP server. I saw the following error in the Archiva logs:
> {code}
> 2011-08-04 17:15:56,226 [btpool0-4] WARN  org.codehaus.plexus.redback.authentication.ldap.LdapBindAuthenticator  - failed to get a ldap connection Could not connect to the server.
> org.codehaus.plexus.redback.common.ldap.connection.LdapException: Could not connect to the server. [Root exception is javax.naming.CommunicationException: myldap.server.host:PORT [Root exception is java.net.ConnectException: Connection refused]]
> 	at org.codehaus.plexus.redback.common.ldap.connection.LdapConnection.<init>(LdapConnection.java:88)
> 	at org.codehaus.plexus.redback.common.ldap.connection.ConfigurableLdapConnectionFactory.getConnection(ConfigurableLdapConnectionFactory.java:133)
> 	at org.codehaus.plexus.redback.authentication.ldap.LdapBindAuthenticator.getLdapConnection(LdapBindAuthenticator.java:150)
> 	at org.codehaus.plexus.redback.authentication.ldap.LdapBindAuthenticator.authenticate(LdapBindAuthenticator.java:94)
> 	at org.codehaus.plexus.redback.authentication.DefaultAuthenticationManager.authenticate(DefaultAuthenticationManager.java:84)
> 	at org.codehaus.plexus.redback.system.DefaultSecuritySystem.authenticate(DefaultSecuritySystem.java:94)
> 	at org.codehaus.redback.integration.filter.authentication.HttpAuthenticator.authenticate(HttpAuthenticator.java:65)
> 	at org.codehaus.redback.integration.filter.authentication.basic.HttpBasicAuthentication.getAuthenticationResult(HttpBasicAuthentication.java:85)
> 	at org.apache.maven.archiva.webdav.ArchivaDavSessionProvider.attachSession(ArchivaDavSessionProvider.java:59)
> 	at org.apache.maven.archiva.webdav.RepositoryServlet.service(RepositoryServlet.java:111)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
> 	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148)
> 	at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:65)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148)
> 	at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148)
> 	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
> 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> 	at org.mortbay.jetty.Server.handle(Server.java:326)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451)
> Caused by: javax.naming.CommunicationException: myldap.server.host:PORT [Root exception is java.net.ConnectException: Connection refused]
> 	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.codehaus.plexus.redback.common.ldap.connection.LdapConnection.<init>(LdapConnection.java:84)
> 	... 37 more
> Caused by: java.net.ConnectException: Connection refused
> 	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:432)
> 	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)
> 	... 46 more
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira