[ https://issues.apache.org/jira/browse/AXIS-2878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13461086#comment-13461086 ]
Hudson commented on AXIS-2878: ------------------------------ Integrated in axis-trunk #150 (See [https://builds.apache.org/job/axis-trunk/150/]) Reverted r256500 (AXIS-524) and r348194 (AXIS-2314; fixing a regression caused by r256500). See the comments in AXIS-524 for the rationale of this revert. This should fix AXIS-2878. (Revision 1388756) Result = SUCCESS veithen : Files : * /axis/axis1/java/trunk/axis/src/main/java/org/apache/axis/deployment/wsdd/WSDDUndeployment.java * /axis/axis1/java/trunk/axis/src/main/java/org/apache/axis/handlers/soap/SOAPService.java * /axis/axis1/java/trunk/axis/src/main/java/org/apache/axis/providers/java/JavaProvider.java > 100% CPU hang when high pressure of concurrent requests > ------------------------------------------------------- > > Key: AXIS-2878 > URL: https://issues.apache.org/jira/browse/AXIS-2878 > Project: Axis > Issue Type: Bug > Components: Basic Architecture > Affects Versions: 1.4 > Environment: R2+, R3 > Reporter: songdacheng > Assignee: Andreas Veithen > > When we are doing the performace testing. we simulate high pressure of > concurrent requests to invoke soap service. severals hours later, CPU will be > 100% and can not be released when the pressure is stopped. > We check the stack log and have found several threads are locked at > java.util.WeakHashMap.getEntry(WeakHashMap.java:375) > java.util.WeakHashMap.containsKey(WeakHashMap.java:361) > org.apache.axis.handlers.soap.SOAPService.addSession(SOAPService.java:125) > org.apache.axis.providers.java.JavaProvider.getSessionServiceObject(JavaProvider.java:185) > org.apache.axis.providers.java.JavaProvider.getServiceObject(JavaProvider.java:100) > org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:287) > org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) > org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) > org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) > org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454) > org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) > org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:700) > javax.servlet.http.HttpServlet.service(HttpServlet.java:647) > org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) > javax.servlet.http.HttpServlet.service(HttpServlet.java:729) > Because WeakHashMap is not safe within concurrent threads so I doubt maybe > there is a problem. I modify the method: addSession of SOAPService.java > (org.apache.axis.handlers.soap) > add the 'synchronized ': > synchronized (map) > { > if (!(map.containsKey(session))) > { > map.put(session, null); > } > } > Then the cpu problem does not occur. -- 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 --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org For additional commands, e-mail: java-dev-h...@axis.apache.org