[jira] Commented: (GERONIMO-4623) Webservice request handling consuming considerable CPU

2009-05-26 Thread Murty Dasari (JIRA)

[ 
https://issues.apache.org/jira/browse/GERONIMO-4623?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12713182#action_12713182
 ] 

Murty Dasari commented on GERONIMO-4623:


Thanks Ivan, I'll check with v2.1.4.

You can close this issue as changes in class-loader seems more appropriate, if 
that doesn't work then I'll open a bug against that JIRA.

cheers
- Murty

 Webservice request handling consuming considerable CPU
 --

 Key: GERONIMO-4623
 URL: https://issues.apache.org/jira/browse/GERONIMO-4623
 Project: Geronimo
  Issue Type: Bug
  Security Level: public(Regular issues) 
Affects Versions: 2.1.2, 2.1.3, 2.1.4
 Environment: *OS*: Windows XP, Windows 2003 Server Multi-Core
 *JRE*: 1.6.0.10
Reporter: Murty Dasari
Assignee: Ivan
 Fix For: 2.1.5, 2.2


 I've a typical web-service  that gets polled every N minutes, I noticed that 
 when it is servicing a request the CPU usage is hitting close to 80%. I 
 expect to have multiple clients to this web-service so it is going to be a 
 problem. 
 Based on what I deduced, the following stack trace is trying to load several 
 of JAR files and not able to load/find them. This is resulting in lot of 
 kernel level calls thus CPU utilization. 
 -- STACK of the thread processing a WS request and trying to load 
 JARs - 
 http-0.0.0.0-8080-1 daemon prio=6 tid=0x437c7c00 nid=0x1700 runnable 
 [0x432ce000..0x432cfa14] 
java.lang.Thread.State: RUNNABLE 
 at java.io.WinNTFileSystem.checkAccess(Native Method) 
 at java.io.File.canRead(File.java:691) 
 at 
 org.apache.geronimo.kernel.classloader.UrlResourceFinder.getClassPath(UrlResourceFinder.java:151)
  
 at 
 org.apache.geronimo.kernel.classloader.UrlResourceFinder.findResource(UrlResourceFinder.java:95)
  
 - locked 0x05420118 (a java.lang.Object) 
 at 
 org.apache.geronimo.kernel.classloader.JarFileClassLoader$3.run(JarFileClassLoader.java:179)
  
 at java.security.AccessController.doPrivileged(Native Method) 
 at 
 org.apache.geronimo.kernel.classloader.JarFileClassLoader.findResource(JarFileClassLoader.java:177)
  
 at 
 org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:580)
  
 at 
 org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
  
 at 
 org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
  
 at 
 org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
  
 at 
 org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
  
 at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1168) 
 at 
 org.apache.catalina.loader.WebappClassLoader.getResourceAsStream(WebappClassLoader.java:1170)
  
 at javax.xml.transform.SecuritySupport$4.run(SecuritySupport.java:94) 
 at java.security.AccessController.doPrivileged(Native Method) 
 at 
 javax.xml.transform.SecuritySupport.getResourceAsStream(SecuritySupport.java:87)
  
 at 
 javax.xml.transform.FactoryFinder.findJarServiceProvider(FactoryFinder.java:250)
  
 at javax.xml.transform.FactoryFinder.find(FactoryFinder.java:223) 
 at 
 javax.xml.transform.TransformerFactory.newInstance(TransformerFactory.java:102)
  
 at 
 org.apache.geronimo.axis2.WSDLQueryHandler.writeTo(WSDLQueryHandler.java:246) 
 at 
 org.apache.geronimo.axis2.WSDLQueryHandler.writeTo(WSDLQueryHandler.java:240) 
 at 
 org.apache.geronimo.axis2.WSDLQueryHandler.writeResponse(WSDLQueryHandler.java:164)
  
 at 
 org.apache.geronimo.axis2.Axis2WebServiceContainer.processGETRequest(Axis2WebServiceContainer.java:321)
  
 at 
 org.apache.geronimo.axis2.Axis2WebServiceContainer.doService2(Axis2WebServiceContainer.java:268)
  
 at 
 org.apache.geronimo.axis2.Axis2WebServiceContainer.doService(Axis2WebServiceContainer.java:205)
  
 at 
 org.apache.geronimo.axis2.Axis2WebServiceContainer.getWsdl(Axis2WebServiceContainer.java:161)
  
 at 
 org.apache.geronimo.tomcat.TomcatEJBWebServiceContext$EJBWebServiceValve.invoke(TomcatEJBWebServiceContext.java:159)
  
 at 
 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
 at 
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
 at 
 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  
 at 
 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568) 
 at 
 

[jira] Commented: (GERONIMO-4623) Webservice request handling consuming considerable CPU

2009-05-22 Thread Murty Dasari (JIRA)

[ 
https://issues.apache.org/jira/browse/GERONIMO-4623?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12712294#action_12712294
 ] 

Murty Dasari commented on GERONIMO-4623:


Hi Ivan,

Thanks for a quick turnaround on this issue.

While the fix that you incorporated reduced the CPU utilization substantially 
it didn't completely eliminate the issue, it seems there is similar issue with 
WSDLQueryHandler::writeResponse method as well. Please see the stack trace 
below:

http-0.0.0.0-8080-3 daemon prio=6 tid=0x451dd400 nid=0xc20 runnable 
[0x46ace000..0x46acfc14]
   java.lang.Thread.State: RUNNABLE
at java.io.WinNTFileSystem.checkAccess(Native Method)
at java.io.File.canRead(File.java:691)
at 
org.apache.geronimo.kernel.classloader.UrlResourceFinder.getClassPath(UrlResourceFinder.java:151)
at 
org.apache.geronimo.kernel.classloader.UrlResourceFinder.findResource(UrlResourceFinder.java:95)
- locked 0x0501abe8 (a java.lang.Object)
at 
org.apache.geronimo.kernel.classloader.JarFileClassLoader$3.run(JarFileClassLoader.java:179)
at java.security.AccessController.doPrivileged(Native Method)
at 
org.apache.geronimo.kernel.classloader.JarFileClassLoader.findResource(JarFileClassLoader.java:177)
at 
org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:580)
at 
org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
at 
org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
at 
org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
at 
org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
at 
org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
at 
org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
at 
org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1168)
at 
org.apache.catalina.loader.WebappClassLoader.getResourceAsStream(WebappClassLoader.java:1170)
at javax.xml.parsers.SecuritySupport$4.run(SecuritySupport.java:96)
at java.security.AccessController.doPrivileged(Native Method)
at 
javax.xml.parsers.SecuritySupport.getResourceAsStream(SecuritySupport.java:89)
at 
javax.xml.parsers.FactoryFinder.findJarServiceProvider(FactoryFinder.java:250)
at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:223)
at 
javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:123)
at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
at 
org.apache.geronimo.axis2.WSDLQueryHandler.writeResponse(WSDLQueryHandler.java:128)
at 
org.apache.geronimo.axis2.Axis2WebServiceContainer.processGETRequest(Axis2WebServiceContainer.java:321)
at 
org.apache.geronimo.axis2.Axis2WebServiceContainer.doService2(Axis2WebServiceContainer.java:268)
at 
org.apache.geronimo.axis2.Axis2WebServiceContainer.doService(Axis2WebServiceContainer.java:205)
at 
org.apache.geronimo.axis2.Axis2WebServiceContainer.getWsdl(Axis2WebServiceContainer.java:161)
at 
org.apache.geronimo.tomcat.TomcatEJBWebServiceContext$EJBWebServiceValve.invoke(TomcatEJBWebServiceContext.java:159)
at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)

Is it something that is possible to fix as well? The line numbers in 
WSDLQueryHandler might not match with the ASF SVN as I manually added your 
changes to test the fix.

best regards
- mdasari



 Webservice request handling consuming considerable CPU
 --

 Key: GERONIMO-4623
 URL: https://issues.apache.org/jira/browse/GERONIMO-4623
 Project: Geronimo
  Issue 

[jira] Reopened: (GERONIMO-4623) Webservice request handling consuming considerable CPU

2009-05-22 Thread Murty Dasari (JIRA)

 [ 
https://issues.apache.org/jira/browse/GERONIMO-4623?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Murty Dasari reopened GERONIMO-4623:



Please see comments in my previous post.

regards
- mdasari

 Webservice request handling consuming considerable CPU
 --

 Key: GERONIMO-4623
 URL: https://issues.apache.org/jira/browse/GERONIMO-4623
 Project: Geronimo
  Issue Type: Bug
  Security Level: public(Regular issues) 
Affects Versions: 2.1.2, 2.1.3, 2.1.4
 Environment: *OS*: Windows XP, Windows 2003 Server Multi-Core
 *JRE*: 1.6.0.10
Reporter: Murty Dasari
Assignee: Ivan
 Fix For: 2.1.5, 2.2


 I've a typical web-service  that gets polled every N minutes, I noticed that 
 when it is servicing a request the CPU usage is hitting close to 80%. I 
 expect to have multiple clients to this web-service so it is going to be a 
 problem. 
 Based on what I deduced, the following stack trace is trying to load several 
 of JAR files and not able to load/find them. This is resulting in lot of 
 kernel level calls thus CPU utilization. 
 -- STACK of the thread processing a WS request and trying to load 
 JARs - 
 http-0.0.0.0-8080-1 daemon prio=6 tid=0x437c7c00 nid=0x1700 runnable 
 [0x432ce000..0x432cfa14] 
java.lang.Thread.State: RUNNABLE 
 at java.io.WinNTFileSystem.checkAccess(Native Method) 
 at java.io.File.canRead(File.java:691) 
 at 
 org.apache.geronimo.kernel.classloader.UrlResourceFinder.getClassPath(UrlResourceFinder.java:151)
  
 at 
 org.apache.geronimo.kernel.classloader.UrlResourceFinder.findResource(UrlResourceFinder.java:95)
  
 - locked 0x05420118 (a java.lang.Object) 
 at 
 org.apache.geronimo.kernel.classloader.JarFileClassLoader$3.run(JarFileClassLoader.java:179)
  
 at java.security.AccessController.doPrivileged(Native Method) 
 at 
 org.apache.geronimo.kernel.classloader.JarFileClassLoader.findResource(JarFileClassLoader.java:177)
  
 at 
 org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:580)
  
 at 
 org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
  
 at 
 org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
  
 at 
 org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
  
 at 
 org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
  
 at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1168) 
 at 
 org.apache.catalina.loader.WebappClassLoader.getResourceAsStream(WebappClassLoader.java:1170)
  
 at javax.xml.transform.SecuritySupport$4.run(SecuritySupport.java:94) 
 at java.security.AccessController.doPrivileged(Native Method) 
 at 
 javax.xml.transform.SecuritySupport.getResourceAsStream(SecuritySupport.java:87)
  
 at 
 javax.xml.transform.FactoryFinder.findJarServiceProvider(FactoryFinder.java:250)
  
 at javax.xml.transform.FactoryFinder.find(FactoryFinder.java:223) 
 at 
 javax.xml.transform.TransformerFactory.newInstance(TransformerFactory.java:102)
  
 at 
 org.apache.geronimo.axis2.WSDLQueryHandler.writeTo(WSDLQueryHandler.java:246) 
 at 
 org.apache.geronimo.axis2.WSDLQueryHandler.writeTo(WSDLQueryHandler.java:240) 
 at 
 org.apache.geronimo.axis2.WSDLQueryHandler.writeResponse(WSDLQueryHandler.java:164)
  
 at 
 org.apache.geronimo.axis2.Axis2WebServiceContainer.processGETRequest(Axis2WebServiceContainer.java:321)
  
 at 
 org.apache.geronimo.axis2.Axis2WebServiceContainer.doService2(Axis2WebServiceContainer.java:268)
  
 at 
 org.apache.geronimo.axis2.Axis2WebServiceContainer.doService(Axis2WebServiceContainer.java:205)
  
 at 
 org.apache.geronimo.axis2.Axis2WebServiceContainer.getWsdl(Axis2WebServiceContainer.java:161)
  
 at 
 org.apache.geronimo.tomcat.TomcatEJBWebServiceContext$EJBWebServiceValve.invoke(TomcatEJBWebServiceContext.java:159)
  
 at 
 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
 at 
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
 at 
 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  
 at 
 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568) 
 at 
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) 
 at 
 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) 
 at 
 

[jira] Created: (GERONIMO-4623) Webservice request handling consuming considerable CPU

2009-05-06 Thread Murty Dasari (JIRA)
Webservice request handling consuming considerable CPU
--

 Key: GERONIMO-4623
 URL: https://issues.apache.org/jira/browse/GERONIMO-4623
 Project: Geronimo
  Issue Type: Bug
  Security Level: public (Regular issues)
Affects Versions: 2.1.4, 2.1.3, 2.1.2
 Environment: *OS*: Windows XP, Windows 2003 Server Multi-Core
*JRE*: 1.6.0.10
Reporter: Murty Dasari


I've a typical web-service  that gets polled every N minutes, I noticed that 
when it is servicing a request the CPU usage is hitting close to 80%. I expect 
to have multiple clients to this web-service so it is going to be a problem. 

Based on what I deduced, the following stack trace is trying to load several of 
JAR files and not able to load/find them. This is resulting in lot of kernel 
level calls thus CPU utilization. 

-- STACK of the thread processing a WS request and trying to load JARs 
- 

http-0.0.0.0-8080-1 daemon prio=6 tid=0x437c7c00 nid=0x1700 runnable 
[0x432ce000..0x432cfa14] 
   java.lang.Thread.State: RUNNABLE 
at java.io.WinNTFileSystem.checkAccess(Native Method) 
at java.io.File.canRead(File.java:691) 
at 
org.apache.geronimo.kernel.classloader.UrlResourceFinder.getClassPath(UrlResourceFinder.java:151)
 
at 
org.apache.geronimo.kernel.classloader.UrlResourceFinder.findResource(UrlResourceFinder.java:95)
 
- locked 0x05420118 (a java.lang.Object) 
at 
org.apache.geronimo.kernel.classloader.JarFileClassLoader$3.run(JarFileClassLoader.java:179)
 
at java.security.AccessController.doPrivileged(Native Method) 
at 
org.apache.geronimo.kernel.classloader.JarFileClassLoader.findResource(JarFileClassLoader.java:177)
 
at 
org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:580)
 
at 
org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
 
at 
org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
 
at 
org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
 
at 
org.apache.geronimo.kernel.config.MultiParentClassLoader.getResource(MultiParentClassLoader.java:565)
 
at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1168) 
at 
org.apache.catalina.loader.WebappClassLoader.getResourceAsStream(WebappClassLoader.java:1170)
 
at javax.xml.transform.SecuritySupport$4.run(SecuritySupport.java:94) 
at java.security.AccessController.doPrivileged(Native Method) 
at 
javax.xml.transform.SecuritySupport.getResourceAsStream(SecuritySupport.java:87)
 
at 
javax.xml.transform.FactoryFinder.findJarServiceProvider(FactoryFinder.java:250)
 
at javax.xml.transform.FactoryFinder.find(FactoryFinder.java:223) 
at 
javax.xml.transform.TransformerFactory.newInstance(TransformerFactory.java:102) 
at 
org.apache.geronimo.axis2.WSDLQueryHandler.writeTo(WSDLQueryHandler.java:246) 
at 
org.apache.geronimo.axis2.WSDLQueryHandler.writeTo(WSDLQueryHandler.java:240) 
at 
org.apache.geronimo.axis2.WSDLQueryHandler.writeResponse(WSDLQueryHandler.java:164)
 
at 
org.apache.geronimo.axis2.Axis2WebServiceContainer.processGETRequest(Axis2WebServiceContainer.java:321)
 
at 
org.apache.geronimo.axis2.Axis2WebServiceContainer.doService2(Axis2WebServiceContainer.java:268)
 
at 
org.apache.geronimo.axis2.Axis2WebServiceContainer.doService(Axis2WebServiceContainer.java:205)
 
at 
org.apache.geronimo.axis2.Axis2WebServiceContainer.getWsdl(Axis2WebServiceContainer.java:161)
 
at 
org.apache.geronimo.tomcat.TomcatEJBWebServiceContext$EJBWebServiceValve.invoke(TomcatEJBWebServiceContext.java:159)
 
at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 
at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568) 
at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) 
at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) 
at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
 
at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
at java.lang.Thread.run(Thread.java:619) 
- 



The following are files this java process is trying to read/load. (Output from 
Windows process monitor). It seems to be doing in a loop as I see continuous 
system calls to read these jar files repeatedly (multiple times per