Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-1.8.2.GA_P03
-
Fix Version/s: EE-1.8.2.GA_P04
-
Component/s: Framework
-
Labels:None
-
Environment:Jetty 6.1.25
Description
We should consider changing the log severity from ERROR to DEBUG for the following exception (specific to JETTY) which has no functional impact. Full exception attached.
com.icesoft.faces.facelets.D2DFaceletViewHandler null - Problem in renderResponse: null
org.mortbay.jetty.EofException
at org.mortbay.jetty.AbstractGenerator$Output.write(AbstractGenerator.java:634)
at org.mortbay.jetty.AbstractGenerator$Output.write(AbstractGenerator.java:580)
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:276)
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:122)
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:212)
at com.icesoft.faces.context.NormalModeSerializer.serialize(NormalModeSerializer.java:109)
at com.icesoft.faces.context.BridgeFacesContext$SaveCurrentDocument.serialize(BridgeFacesContext.java:953)
at com.icesoft.faces.context.DOMResponseWriter.endDocument(DOMResponseWriter.java:180)
at com.icesoft.faces.facelets.D2DFaceletViewHandler.renderResponse(D2DFaceletViewHandler.java:284)
at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:155)
com.icesoft.faces.facelets.D2DFaceletViewHandler null - Problem in renderResponse: null
org.mortbay.jetty.EofException
at org.mortbay.jetty.AbstractGenerator$Output.write(AbstractGenerator.java:634)
at org.mortbay.jetty.AbstractGenerator$Output.write(AbstractGenerator.java:580)
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:276)
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:122)
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:212)
at com.icesoft.faces.context.NormalModeSerializer.serialize(NormalModeSerializer.java:109)
at com.icesoft.faces.context.BridgeFacesContext$SaveCurrentDocument.serialize(BridgeFacesContext.java:953)
at com.icesoft.faces.context.DOMResponseWriter.endDocument(DOMResponseWriter.java:180)
at com.icesoft.faces.facelets.D2DFaceletViewHandler.renderResponse(D2DFaceletViewHandler.java:284)
at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:155)
Checked in the code change that checks for Jetty EOF exceptions in much the same way we check for Tomcat specific exceptions and log them as DEBUG:
Index: core/src/com/icesoft/faces/context/NormalModeSerializer.java
===================================================================
— core/src/com/icesoft/faces/context/NormalModeSerializer.java (revision 28566)
+++ core/src/com/icesoft/faces/context/NormalModeSerializer.java (revision )
@@ -108,8 +108,9 @@
writer.flush();
} catch (IOException e) {
+ //capture & log Tomcat or Jetty specific exceptions
+ String exceptionName = e.getClass().getName();
+ if (exceptionName.endsWith("ClientAbortException") || exceptionName.endsWith("jetty.EofException")) { log.debug("Browser closed the connection prematurely."); }
else {
throw e;