We have the BIRT viewer (version 2.5.2) installed under Tomcat 6.0.
We have a benchmark report reading from a large dynamic XML data source (600,000 XML elements under the XML root element). I say dynamic because the XML is generated by a web agent.
The following entries from the Tomcat local_access_log file show the start and end of the report execution. I've modified the URL information for security purposes.
10.10.10.53 - - [19/Oct/2011:10:42:51 -0500] "GET /birt-viewer/frameset?&__title=G*STARS%20Report%20Viewer&__report=dev/services_benchmark_agent.rptdesign&dbUrl=
http://yadaYadaYada/test/processingSpeedTest.nsf/ HTTP/1.1" 200 44958
10.10.10.53 - - [19/Oct/2011:12:44:07 -0500] "POST /birt-viewer/frameset?&__title=G*STARS%20Report%20Viewer&__report=dev/services_benchmark_agent.rptdesign&dbUrl=
http://yadaYadayada/test/processingSpeedTest.nsf/&__sessionId=20111019_104251_103&__dpi=96 HTTP/1.1" 200 8192
The report runs in 2 hours, 1 minute, 16 seconds.
When the report begins execution, the BIRT Progress Bar is displayed with the "Processing, please wait" message. After 60 minutes the Progress Bar disappears and no report output is ever displayed.
In the Tomcat web.xml the HTTP session timeout is defined as follows:
<!-- ==================== Default Session Configuration ================= -->
<!-- You can set the default session timeout (in minutes) for all newly -->
<!-- created sessions by modifying the value below. -->
<session-config>
<session-timeout>180</session-timeout>
</session-config>
In the BIRT viewer viewer.properties the viewer.session.properties is defined as follows:
# [VIEWING SESSION CONFIGURATION]
# The BIRT viewing session is a sub-session of the HTTP session.
# An HTTP session can have multiple BIRT viewing sessions.
# Each time a new viewer is opened, a new viewing session is created.
# The following parameters are used to configure the viewing session
# management.
# If the matching HTTP session expires, all the viewing sessions
# attached to it will expire as well.
# Timeout value in seconds after which a viewing session will expire.
# The value 0 means that a session will never expire, and the cached files
# will never be cleant unless the belonging HTTP session expires.
viewer.session.timeout=0
I have been unable to find any configuration information for Tomcat or BIRT where a 60 minute timer is defined. I thought that the Tomcat session-timeout value and the BIRT viewer.session.timeout value would allow the report to run to completion. Initially the Tomcat timer was only set to the 30 minute default value. We thought that increasing the Tomcat timer to a very large value would get us over the hump.
The BIRT report and web agent run to completion for smaller XML data sources (e.g., as big as 300,000 XML elements). For a 300,000 XML elements data source the report runs in 53 minutes 13 seconds. We are hoping to get the report working for the larger data source.
I understand that there is a penalty for processing the DOM for a large amount of XML data, and that is a topic for another day.
I hope that someone can answer the 60 minute timer issue related to the disappearing Progress Bar.