axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ruwan Linton (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (AXIS2-2941) Tomcat crashes when stateful web service is quite heavily loaded
Date Tue, 04 Jan 2011 06:45:55 GMT

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

Ruwan Linton resolved AXIS2-2941.
---------------------------------

    Resolution: Not A Problem

This looks like an issue in your code, see the following lines in the stack trace.

at ncl.qosp.controller.LifecycleSupport.initRemoteJmx(LifecycleSupport.java:332)
        at ncl.qosp.controller.LifecycleSupport.startUp(LifecycleSupport.java:302)
        at org.apache.axis2.deployment.ServiceBuilder.loadServiceLifeCycleClass(ServiceBuilder.java:415)

And the error is caused by the "Too many open files" which again tells that you have not tilized
the resoursec properly, or you could increase the open file descriptor count on the OS. On
Unix you could do this with ulimit command.

> Tomcat crashes when stateful web service is quite heavily loaded
> ----------------------------------------------------------------
>
>                 Key: AXIS2-2941
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2941
>             Project: Axis2
>          Issue Type: Bug
>    Affects Versions: 1.1.1
>         Environment: linux SMP kernel 2.6, java 1.5.0_10, axis2 1.1.1 nightly, tomcat
5.5.20
>            Reporter: Michele Mazzucco
>            Assignee: Deepal Jayasinghe
>            Priority: Critical
>         Attachments: axis2_logs.log, catalina.2007-07-11.log, catalina.out, qosp_debug.log
>
>
> As soon as the arrival rate grows to about 40 req/second (stateful service, but the service
is very fast, it's not a problem of threads missing) the tomcat crashes. The tomcat connector
settings are
> <Connector port="8081" maxHttpHeaderSize="8192"
>                maxThreads="300" minSpareThreads="25" maxSpareThreads="100"
>                enableLookups="false" redirectPort="8443" acceptCount="100"
>                connectionTimeout="20000" disableUploadTimeout="true" />
> From the logs I see several errors:
> -  Endpoint ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=8081] ignored exception:
java.net.SocketException: Too many open files
> - Endpoint null shutdown due to exception: java.net.SocketException: Too many open files
> - Caught exception (java.lang.ThreadDeath) executing org.apache.tomcat.util.net.LeaderFollowerWorkerThread@1350e24,
terminating thread
> ncl.qosp.controller.LifecycleSupport.initRemoteJmx(LifecycleSupport.java:338) ERROR [Timer-1]
- Unable to create the registry internal error: ObjID already in use 
> java.rmi.server.ExportException: internal error: ObjID already in use
>         at sun.rmi.transport.ObjectTable.putTarget(ObjectTable.java:169)
>         at sun.rmi.transport.Transport.exportObject(Transport.java:75)
>         at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:190)
>         at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:382)
>         at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:116)
>         at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:180)
>         at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:92)
>         at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:78)
>         at java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:186)
>         at ncl.qosp.controller.LifecycleSupport.initRemoteJmx(LifecycleSupport.java:332)
>         at ncl.qosp.controller.LifecycleSupport.startUp(LifecycleSupport.java:302)
>         at org.apache.axis2.deployment.ServiceBuilder.loadServiceLifeCycleClass(ServiceBuilder.java:415)
>         at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:141)
>         at org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:96)
>         at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:138)
>         at org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:76)
>         at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:539)
>         at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:188)
>         at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:269)
>         at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:179)
>         at org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:260)
>         at org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:61)
>         at org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:68)
>         at org.apache.axis2.deployment.scheduler.Scheduler$SchedulerTimerTask.run(Scheduler.java:76)
>         at java.util.TimerThread.mainLoop(Timer.java:512)
>         at java.util.TimerThread.run(Timer.java:462)
> (the service uses JMX, it registers to the JMX server using ServiceLifeCycle.startUp())
> - org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:97) ERROR [Timer-1]
- The version.aar service, which is not valid, caused Two services cannot have same name.
 A service with the Version name already exists in the system.
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the Version
name already exists in the system.
>         at org.apache.axis2.engine.AxisConfiguration.addServiceGroup(AxisConfiguration.java:316)
>         at org.apache.axis2.deployment.DeploymentEngine.addServiceGroup(DeploymentEngine.java:399)
>         at org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:80)
>         at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:539)
>         at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:188)
>         at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:269)
>         at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:179)
>         at org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:260)
>         at org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:61)
>         at org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:68)
>         at org.apache.axis2.deployment.scheduler.Scheduler$SchedulerTimerTask.run(Scheduler.java:76)
>         at java.util.TimerThread.mainLoop(Timer.java:512)
>         at java.util.TimerThread.run(Timer.java:462)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message