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

Reply via email to