IIS errors "System.Web.HttpException: Request timed out" on otherwise successful requests

After moving to Lucee we started experiencing timeouts from IIS on long running requests, whether they are successful or not. The timeout settings both in Lucee web admin and in the cfm page are much higher than necessary for these requests. I now understand that there is a request timeout setting in IIS.

Why are these timeouts happening for Lucee when we did not experience it with ACF? Is there an adjustment we can make that will prevent this in the future by default without having to adjust web server settings? Thanks.

OS: Windows 2012 R2
Java Version: 11.0.10 (AdoptOpenJDK) 64bit
Tomcat Version: Apache Tomcat/9.0.43
Lucee Version: Lucee 5.3.7.47

From memory, tomcat defaults to 50s? You might need to increase that

some more info here

What confuses me here is that the Tomcat docs say connectionTimeout is essentially about the starting a connection and not the time for the total connection, but maybe I’m misinterpreting it.

The number of milliseconds this Connector will wait, after accepting a connection, for the request URI line to be presented. Use a value of -1 to indicate no (i.e. infinite) timeout. The default value is 60000 (i.e. 60 seconds) but note that the standard server.xml that ships with Tomcat sets this to 20000 (i.e. 20 seconds). Unless disableUploadTimeout is set to false , this timeout will also be used when reading the request body (if any).

I checked ACF’s server.xml and the connector is set to 60000 but we did not run into the same issue.

I’ll give the suggested AJP connector timeout a try though with something like 300000 then go from there (edit: I guess something like 10800000 is actually what it should be). Thanks.

There are many possible causes for timeouts at different places (example see my recent post about timeouts here.

What exception are you seeing and where are you seeing it? Do you have an event id or anything in Windows event viewer?

I would try what @Zackster suggested first, because this is the most common place to adjust if Tomcat closes the connection (if you set larger timeouts than the default 50s of Lucee). But still, other timouts can happen on different places, such as IIS application pool idle time, or connectors.

1 Like

It had not occurred to me to check the windows event log for a web server request timeout.

Warning	ASP.NET 4.0.30319.0	1309	Web Event

Event code: 3001 
Event message: The request has been aborted. 
...
Exception information: 
    Exception type: HttpException 
    Exception message: Request timed out.

It looks like an httpRuntime executionTimeout is needed in web.config. Running some long tests and then will report backup.

1 Like

The IIS site httpRuntime executionTimeout setting was what made a difference here.

Not sure why this is different for ACF versus Lucee. Only other change I can think of to environment was setting AppPool ASP.NET version to 4 in order to install Lucee.

Does that mean your issue is resolved now?

Lucee is something different than ACF. I’m not on ACF for a long time now. What I’ve experienced is that Lucee may need more tweaks for certain situations. It’s default installations usually has very good performance exactly because of good default settings, but you may need to tweak for certain tasks. However, you’ll find in this great community the help you may need for those situations, if not, somebody from the core Lucee team will chime in and offer some direction.

If your issue is resolved now, we are very glad everything is working. If you have any other issue, please post back here in the forum, we from the community or someone from the dev team will be glad to help.

I am awaiting overnight task runs to determine whether the web.config executionTimeout adjustment fully resolved the issue.

Yep. Lucee and the community are awesome.

1 Like

The httpRuntime executionTimeout adjustment resolved the issue.

<system.web>
  <httpRuntime executionTimeout="86400" />
</system.web>
1 Like