We have four lpars running 1 java instance each.
They do a lot of read/write operations to a shared NFS server. When the NFS server goes down abruptly, all the threads that were trying to read an image in each of these four servers gets into a hung state.
Below trace shows the same (process is a websphere applciation server process)
While we are working on the issues in the NFS server side, is there a way to avoid this from the code side?
If the underlying connection is tcp based (which I assume it is), should the tcp read/connect timeout take care of this? Basically I want to thread be returned back to the pool instead of waiting infinitely for the other side to repond.
Or is this something which should be taken care by the nfs 'client' on the source machine? Some config setting on the client side pertaining to nfs (since FileInputStream.open would not know whether the file it is trying to read is on the local server or the shared folder in nfs server)
Thanks in advance for your answers :)
We are using
java 1.6 on WAS 7.0
[8/2/15 19:52:41:219 GST] 00000023 ThreadMonitor W WSVR0605W: Thread "WebContainer : 77" (00003c2b) has been active for 763879 milliseconds and may be hung. There is/are 110 thread(s) in total in the server that may be hung. at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.(FileInputStream.java:113) at java.io.FileInputStream.(FileInputStream.java:73) at org.emarapay.presentation.common.util.ImageServlet.processRequest(Unknown Source) at org.emarapay.presentation.common.util.ImageServlet.doGet(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:718) at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1694) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1635) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113) at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:80) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:965) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:508) at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl