Issue description
When trying to generate an Ad Hoc report user kept receiving 500 Internal Server Error from TIBCO JasperReports
®
Server.
When examining the log files the following error was found repeating multiple times:
org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe
The timeout limit in the Ad Hoc settings was set to 720 seconds, however th error was thrown after about 2 minutes of running.
The query was actually expected to run for several minutes on database side. One intersting note in this scenario was that once the query has finished running, if user refreshed the report on JasperReports Server front end the data was readily available.
Cause and solution
There are many different possible causes for the 'broken pipe' error. In this particular case, in order to provide SSL access to the server, user's IT team configured an Apache web server in front of the Apache Tomcat. Those servers talked over AJP. It appeared that a standard timeout over AJP is 120 seconds (the same time it took for the error to be thrown). The Apache httpd logs were filled with the 500 server errors.
After increasing the proxy timeout value to a value higher than the Ad Hoc timeout of 720 seconds the issue disappeared.