More intensive dashboards, documents, or reports generate timeout errors

Version 1

    Problem

    Dashboards, documents, or reports with long queries generate errors similar to the one below:

    Wystem.Web.HttpException (0x80004005): Request timed out.

    These errors may occur in the web interface or with the scheduled documents.

     

     

    Web Interface Timeout Resolution

    By default, Xtraction has two related timeout values.  A web timeout of 2 minutes and a database timeout of 5 minutes.  Usually, the timeouts occur after the 2 minute web timeout is reached.

    So, the first step to resolving the errors is to increase the web timeout to match the database timeout at 5 minutes.  This is accomplished by adding the following snippet to the web.config file

    Edit the web.config file located in the folder: Xtraction Software\Xtraction\Web\Server.

    The following line ...

     <httpRuntime executionTimeout="300" />

    needs to be placed after the first instance of ...

      <system.web>

    For example:

      <system.web>     <httpRuntime executionTimeout="300" />

    This increases the timeout period to 300 seconds (5 minutes).  This should be sufficient time to allow most queries to finish.  This value can be adjusted as required.

    If Xtraction is still timing out after 5 minutes because the queries need more time to complete, you might be tempted to increase the web timeout above to something greater than 5 minutes.  That is fine, except Xtraction will still timeout at 5 minutes because of the 5 minute database timeout.

    To configure Xtraction to wait longer than 5 minutes before timing out, you need to increase both timeout values accordingly.

    The web timeout value just added above should be increased to the number of seconds you desire for the timeout.  Then, set the same value for the database timeout by adding the following DatabaseTimeout line inside the appSettings section in the web.config file:

    <appSettings>    <add key="DatabaseTimeout" value="300" /> </appSettings>

     

     

    Scheduler Timeout Resolution

    The scheduler service is responsible for running the scheduled documents.  This service is not affected by the two settings in the web.config file mentioned above.  However, it does have its own database timeout setting that can be increased to address timeout issues when running scheduled documents.

    The setting can be set in the scheduler's config file. If it does not exist, you will need to create it.  The file is named "Xtraction.SchedulerService.exe.config" and it is located in the Xtraction\Tools folder. Be sure to change the numeric value to the appropriate timeout duration. Below is a sample config file with the database timeout value added.

    <?xml version="1.0"?> <configuration>  <startup>    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>  </startup>  <appSettings>   <add key="DatabaseTimeout" value="300" />  </appSettings> </configuration>

     

     

     

    Alert Timeout Resolution

    The alert service is responsible for monitoring the alerts.  This service is not affected by the two settings in the web.config file mentioned above.  However, it does have its own database timeout setting that can be increased to address timeout issues when running the database queries associated with monitored alerts.

    The setting can be set in the alert service's config file.  The file is named "Xtraction.AlertService.exe.config" and it is located in the Xtraction\Tools folder.  Add the following DatabaseTimeout line inside the appSettings section in the config file.  If the appSettings section does not exist, add it.  Be sure to change the numeric value to the appropriate timeout duration.

    <appSettings>  <add key="DatabaseTimeout" value="300" /> </appSettings>