Hi all,
today I wanted to take some time to extensivly test the new graceful shutdown
feature, which is a prerequisite for the graceful cluster restart we would need
for our production environment.
My first very basic test with a long running request was successful. I could
see all the log-statements Asankha put into the shutdownGracefully method. A
few times "Waiting for a maximum of another..." and then finally the "Graceful
shutdown request completed in 186 seconds". Fine!
I then wanted to test the same feature under load. With a (too) small time to
force an immediate shutdown and a sufficient time to proccess all current
requests.
Before I started with this test I wanted to run a very basic functionality
check, just to be sure...
I used a HelloWorld SOAP WebService deployed to a local JBoss AS 4.2.2. I run
SoapUI with a "load test" of type thread with 1 start thread and 1 end thread
for 60 seconds. Of course no load, no problem. Just to check if everything is
fine. I then wanted to repeat the same test but with the WSO2 ESB in the
middle. I configured and and endpoint and a simple proxy service (without
additional functionality) and re-run the same test.
Afte a few seconds I got the following exception in the esb log (and later a
read timeout on the client):
2008-05-04 19:24:20,676 [192.168.1.2-r2] [HttpClientWorker-20] ERROR
ClientWorker Fault creating response SOAP envelope
org.apache.axis2.AxisFault
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at
org.apache.axis2.builder.SOAPBuilder.processDocument(SOAPBuilder.java:61)
at
org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:160)
at
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:111)
at
org.apache.synapse.transport.nhttp.ClientWorker.run(ClientWorker.java:173)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.nio.channels.AsynchronousCloseException
at java.nio.channels.spi.AbstractInterruptibleChannel.end(Unknown
Source)
at java.nio.channels.Channels$ReadableByteChannelImpl.read(Unknown
Source)
at sun.nio.ch.ChannelInputStream.read(Unknown Source)
at sun.nio.ch.ChannelInputStream.read(Unknown Source)
at sun.nio.ch.ChannelInputStream.read(Unknown Source)
at java.io.FilterInputStream.read(Unknown Source)
at java.io.PushbackInputStream.read(Unknown Source)
at
org.apache.axis2.builder.BuilderUtil.getCharSetEncoding(BuilderUtil.java:281)
at
org.apache.axis2.builder.SOAPBuilder.processDocument(SOAPBuilder.java:48)
... 6 more
Any ideas? After that I moved the ESB to another machine. Because I was running
soapUI, JBoss and the ESB on the same physical machine. Same problem. Next I
changed the Java version for the ESB, from JDK 6 Update 6 to JDK 5 Update 14,
same problem. If I start only a few requests manually, I don't see this
exception, but only a few seconds after the "load test" I see this problem. No
CPU load on the machines. Only a few requests per seconds.
Both are Windows machines. I used the snapshot-version, v5, which Ruwan
provided. I will rerun the test with the 1.6 version, to see if there is a
difference.
Do you have some idea?
Regards,
Eric
_______________________________________________
Esb-java-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev