Project

General

Profile

Task #8026

Portal reaches the maximum capacity in a pool

Added by Jing Tao about 7 years ago. Updated about 7 years ago.

Status:
Testing
Priority:
High
Assignee:
Category:
d1_portal_servlet
Target version:
Start date:
2017-02-27
Due date:
% Done:

50%

Milestone:
None
Product Version:
*
Story Points:
Sprint:

Description

After portal runs for a while, the ci-logon can't work since it reaches the maximum capacity of a pool. We have to restart tomcat.
type Exception report

message An exception occurred processing JSP page /setup.jsp at line 15

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /setup.jsp at line 15

12: <%
13:
14: // get the certificate, if we have it
15: X509Certificate certificate = PortalCertificateManager.getInstance().getCertificate(request);
16: PrivateKey key = PortalCertificateManager.getInstance().getPrivateKey(request);
17:
18: // if we don't have a certificate, then we aren't logged in

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
com.hazelcast.web.WebFilter.doFilter(WebFilter.java:598)

root cause

edu.uiuc.ncsa.security.core.util.PoolException: Error: Maximum capacity of 1000 elements has been exceeded
edu.uiuc.ncsa.security.core.util.Pool.realCreate(Pool.java:75)
edu.uiuc.ncsa.security.core.util.Pool.pop(Pool.java:63)
edu.uiuc.ncsa.security.storage.sql.SQLDatabase.getConnection(SQLDatabase.java:23)
edu.uiuc.ncsa.security.storage.sql.SQLStore.get(SQLStore.java:194)
edu.uiuc.ncsa.security.storage.sql.SQLStore.get(SQLStore.java:35)
edu.uiuc.ncsa.myproxy.oa4mp.client.storage.AssetStoreUtil.get(AssetStoreUtil.java:43)
edu.uiuc.ncsa.myproxy.oa4mp.client.storage.SQLAssetStore.get(SQLAssetStore.java:34)
org.dataone.portal.PortalCertificateManager.getCredentials(PortalCertificateManager.java:196)
org.dataone.portal.PortalCertificateManager.getCredentials(PortalCertificateManager.java:235)
org.dataone.portal.PortalCertificateManager.getCertificate(PortalCertificateManager.java:157)
org.apache.jsp.account_jsp._jspService(account_jsp.java:100)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
com.hazelcast.web.WebFilter.doFilter(WebFilter.java:598)

History

#1 Updated by Jing Tao about 7 years ago

It seems the issue was fixed after 3.3:
https://gateways.atlassian.net/browse/OAUTH-200

#2 Updated by Jing Tao about 7 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 30

Base on the suggestion from CIlog folks, I tried the in-memory configuration to avoid the database connection. However, the redirection doesn't work very well.
I tried the file system configuration, it worked great.
The code was committed to both trunk and 2.3 branch.

#3 Updated by Jing Tao about 7 years ago

If we satisfy the file system storage solution, we can get rid of hazelcast and database later.

#4 Updated by Jing Tao about 7 years ago

  • Status changed from In Progress to Testing
  • % Done changed from 30 to 50

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 14.8 MB)