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);
}
}