We’ve run into an odd issue with timeouts and file uploads. In our code we have
this.requestTimeout set to 5 minutes. Some of our users outside of the US (our servers are located in the US) were getting occasional errors when uploading files in our application. We’ve discovered that the timeout declared in our code does not apply to the time spent uploading files. But the timeout in the Lucee admin does apply. This makes some sense to me - Tomcat or Lucee is handing the upload before processing any of our code in application.cfc, which is where the timeout gets set.
So users with slow internet (mainly our users outside the US) were running into the default timeout of 50 seconds that is set in the Lucee admin. I prefer to have all our Lucee config settings in code, but for now we’ve solved the problem by bumping up the timeout in the Lucee admin.
So is it working as intended? Or should the timeout set in the code apply somehow? The timeout setting is working for other requests.
I’m sure this will be a tricky or perhaps impossible problem to solve. Maybe at minimum the documentation should be updated? The Lucee Lockdown Guide suggests reducing this timeout down even more from the 50 second default. This will make the problem occur more frequently. So maybe there should be a caveat in there.
OS: Windows Server 2016
Java Version: 11.0.17
Tomcat Version: 9.0.65
Lucee Version: 18.104.22.168-SNAPSHOT