https://issues.apache.org/bugzilla/show_bug.cgi?id=54220
Bug ID: 54220 Summary: ErrorReportValve invoked on non-error responses too Product: Tomcat 6 Version: 6.0.36 Hardware: All OS: All Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: 1983-01...@gmx.net Classification: Unclassified If you issue a response.setStatus(404) from a servlet, you expect as per spec that the response is left untouched. No error page written. There is sendError for that. Unfortunately, ErrorReportValve reacts on line 158 > if ((statusCode < 400) || (response.getContentCount() > 0)) > return; If you take a look at the StandardHostValve, it invokes error handling on line 316 > if (!response.isError()) > return; On errors only (correct behavior). The ErrorReportValve must react on response.isError() == true only. Regardless of the status code or the content count. The Javadoc does not limit this to status codes >= 400 but is says that reponse.sendError() has to clears buffers. As far I understand that, regardless of the response body is disposed and the error reponse is always written. -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org