Forum Discussion

rajesh_74821's avatar
rajesh_74821
Icon for Nimbostratus rankNimbostratus
Nov 18, 2009

ThreadPooling implementation problem

Hi All,

 

In our BigIp box

 

1) For GlobalLB I am having min 500 wideips and 500 pools and 1000 poolmembers

 

2) through config file i am getting all the list of wideips, pools and poolMembers and store in to database.

 

3) For statistics :

 

while getting these statistics I am implementing thread pooling mechanism and assigning the list of wideips, pools and poolmebers to threads for getting the statistics.

 

 

Problem is while hiting the Bigip box more than 200 wideips statistics the box getting down and throwing the exception as follows:

 

1)

 

 

AxisFault

 

faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException

 

faultSubcode:

 

faultString: java.net.SocketException: Connection reset

 

faultActor:

 

faultNode:

 

faultDetail:

 

{http://xml.apache.org/axis/}stackTrace:java.net.SocketException: Connection reset

 

at java.net.SocketInputStream.read(SocketInputStream.java:168)

 

at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)

 

at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)

 

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:789)

 

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1112)

 

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1139)

 

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1123)

 

at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:186)

 

at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)

 

at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)

 

at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)

 

at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)

 

at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)

 

at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)

 

at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)

 

at org.apache.axis.client.Call.invokeEngine(Call.java:2784)

 

at org.apache.axis.client.Call.invoke(Call.java:2767)

 

at org.apache.axis.client.Call.invoke(Call.java:2443)

 

at org.apache.axis.client.Call.invoke(Call.java:2366)

 

at org.apache.axis.client.Call.invoke(Call.java:1812)

 

at iControl.GlobalLBWideIPBindingStub.get_statistics(GlobalLBWideIPBindingStub.java:1243)

 

at statistics.WideipStatistics.getwideipStatus(WideipStatistics.java:116)

 

at statistics.WideipStatistics$1.run(WideipStatistics.java:93)

 

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

 

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

 

at java.lang.Thread.run(Thread.java:619)

 

 

{http://xml.apache.org/axis/}hostname:mobile5

 

 

java.net.SocketException: Connection reset

 

at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)

 

at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154)

 

at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)

 

at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)

 

at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)

 

at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)

 

at org.apache.axis.client.Call.invokeEngine(Call.java:2784)

 

at org.apache.axis.client.Call.invoke(Call.java:2767)

 

at org.apache.axis.client.Call.invoke(Call.java:2443)

 

at org.apache.axis.client.Call.invoke(Call.java:2366)

 

at org.apache.axis.client.Call.invoke(Call.java:1812)

 

at iControl.GlobalLBWideIPBindingStub.get_statistics(GlobalLBWideIPBindingStub.java:1243)

 

at statistics.WideipStatistics.getwideipStatus(WideipStatistics.java:116)

 

at statistics.WideipStatistics$1.run(WideipStatistics.java:93)

 

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

 

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

 

at java.lang.Thread.run(Thread.java:619)

 

Caused by: java.net.SocketException: Connection reset

 

at java.net.SocketInputStream.read(SocketInputStream.java:168)

 

at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)

 

at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)

 

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:789)

 

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1112)

 

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1139)

 

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1123)

 

at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:186)

 

at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)

 

at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)

 

at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)

 

... 15 more

 

 

2)or some times following exception will occur:

 

 

{http://xml.apache.org/axis/}stackTrace:javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake

 

 

if the connections are less than 200 then its giving perfect result.

 

so please can you give me the suggestion how to solve this problem

 

 

 

Thanks in advance