ResponseWriter clone should not include itself ----------------------------------------------
Key: MYFACES-2500 URL: https://issues.apache.org/jira/browse/MYFACES-2500 Project: MyFaces Core Issue Type: Bug Components: General Affects Versions: 2.0.0-alpha Reporter: Andy Schwartz Priority: Minor MyFaces suffers from the problem described here: https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=1515 Apologies for the Mojarra reference. :-) In the MyFaces case, the problem exists in two places: 1. org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage In particular, in renderView(), we do: ResponseWriter origWriter = createResponseWriter(context); StateWriter stateWriter = new StateWriter(origWriter, 1024); <-------- Here try { ResponseWriter writer = origWriter.cloneWithWriter(stateWriter); Instead of wrapping the StateWriter around the ResponseWriter (and then cloning that ResponseWriter with itself), we should be wrapping the StateWriter around the Writer returned by ExternalContext.getResponseOutputWriter(). 2. org.apache.myfaces.view.facelets.FaceletViewHandler Again, in renderView, we've got: ResponseWriter origWriter = this.createResponseWriter(context); // QUESTION: should we use bufferSize? Or, since the // StateWriter usually only needs a small bit at the end, // should we always use a much smaller size? stateWriter = new StateWriter(origWriter, this.bufferSize != -1 ? this.bufferSize : 1024); ResponseWriter writer = origWriter.cloneWithWriter(stateWriter); So the same issue exists here. FWIW, not sure whether FaceletViewHandler is still used - perhaps this is now obsolete? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.