vgritsenko 2003/07/30 20:54:22
Modified: src/java/org/apache/cocoon/components/pipeline AbstractProcessingPipeline.java src/java/org/apache/cocoon/components/pipeline/impl AbstractCachingProcessingPipeline.java src/java/org/apache/cocoon/servlet CocoonServlet.java Log: Attemp to reduce amount of socket exception stacktraces in the error log. To get bunch of them, go to http://localhost:8888/samples/linkstatus/localhost/8888/docs/index.html Revision Changes Path 1.6 +3 -2 cocoon-2.1/src/java/org/apache/cocoon/components/pipeline/AbstractProcessingPipeline.java Index: AbstractProcessingPipeline.java =================================================================== RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/pipeline/AbstractProcessingPipeline.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- AbstractProcessingPipeline.java 11 Jul 2003 08:59:03 -0000 1.5 +++ AbstractProcessingPipeline.java 31 Jul 2003 03:54:22 -0000 1.6 @@ -611,7 +611,8 @@ } } catch ( SocketException se ) { if (se.getMessage().indexOf("reset") > 0 - || se.getMessage().indexOf("aborted") > 0) { + || se.getMessage().indexOf("aborted") > 0 + || se.getMessage().indexOf("connection abort") > 0) { throw new ConnectionResetException("Connection reset by peer", se); } else { throw new ProcessingException("Failed to execute reader pipeline.", se); 1.9 +7 -4 cocoon-2.1/src/java/org/apache/cocoon/components/pipeline/impl/AbstractCachingProcessingPipeline.java Index: AbstractCachingProcessingPipeline.java =================================================================== RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/pipeline/impl/AbstractCachingProcessingPipeline.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- AbstractCachingProcessingPipeline.java 14 Jul 2003 16:06:20 -0000 1.8 +++ AbstractCachingProcessingPipeline.java 31 Jul 2003 03:54:22 -0000 1.9 @@ -242,7 +242,8 @@ } } catch ( SocketException se ) { if (se.getMessage().indexOf("reset") > 0 - || se.getMessage().indexOf("aborted") > 0) { + || se.getMessage().indexOf("aborted") > 0 + || se.getMessage().indexOf("connection abort") > 0) { throw new ConnectionResetException("Connection reset by peer", se); } else { throw new ProcessingException("Failed to execute reader pipeline.", se); @@ -313,7 +314,8 @@ } catch ( SocketException se ) { if (se.getMessage().indexOf("reset") > 0 - || se.getMessage().indexOf("aborted") > 0) { + || se.getMessage().indexOf("aborted") > 0 + || se.getMessage().indexOf("connection abort") > 0) { throw new ConnectionResetException("Connection reset by peer", se); } else { throw new ProcessingException("Failed to execute reader pipeline.", se); @@ -853,7 +855,8 @@ } } catch ( SocketException se ) { if (se.getMessage().indexOf("reset") > 0 - || se.getMessage().indexOf("aborted") > 0) { + || se.getMessage().indexOf("aborted") > 0 + || se.getMessage().indexOf("connection abort") > 0) { throw new ConnectionResetException("Connection reset by peer", se); } else { throw new ProcessingException("Failed to execute pipeline.", se); 1.10 +25 -5 cocoon-2.1/src/java/org/apache/cocoon/servlet/CocoonServlet.java Index: CocoonServlet.java =================================================================== RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/servlet/CocoonServlet.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- CocoonServlet.java 9 Jul 2003 07:42:22 -0000 1.9 +++ CocoonServlet.java 31 Jul 2003 03:54:22 -0000 1.10 @@ -58,6 +58,7 @@ import java.io.OutputStream; import java.lang.reflect.Constructor; import java.net.MalformedURLException; +import java.net.SocketException; import java.net.URL; import java.net.URLDecoder; import java.util.ArrayList; @@ -1111,11 +1112,19 @@ "The requested resource \"" + request.getRequestURI() + "\" could not be found", rse); return; + + } catch ( SocketException se ) { + if (log.isDebugEnabled()) { + log.debug("The connection was reset", se); + } else if (log.isWarnEnabled()) { + log.warn(se.getMessage()); + } + } catch (ConnectionResetException cre) { if (log.isDebugEnabled()) { - log.debug("The connection was reset", cre); + log.debug(cre.getMessage(), cre); } else if (log.isWarnEnabled()) { - log.warn("The connection was reset."); + log.warn(cre.getMessage()); } } catch (Exception e) { @@ -1153,7 +1162,10 @@ } } } finally { - if (ctxMap != null) ctxMap.clear(); + if (ctxMap != null) { + ctxMap.clear(); + } + try { if (request instanceof MultipartHttpServletRequest) { ((MultipartHttpServletRequest) request).cleanup(); @@ -1161,11 +1173,19 @@ } catch (IOException e) { log.error("Cocoon got an Exception while trying to cleanup the uploaded files.", e); } + try { ServletOutputStream out = res.getOutputStream(); out.flush(); out.close(); - } catch(Exception e) { + } catch (SocketException se) { + if (log.isDebugEnabled()) { + log.debug("SocketException while trying to close stream.", se); + } else if (log.isWarnEnabled()) { + log.warn("SocketException while trying to close stream."); + } + + } catch (Exception e) { log.error("Cocoon got an Exception while trying to close stream.", e); } }