Lucee is killing HTTPServletRequestDummy threads putting Tomcat into an invalid state

Description

Lucee keeps track of requests that come in and if those requests don't respond in an appropriate amount of time, Lucee will kill the thread associated with the request. The problem we ran into was related to the HttpServletRequestDummy, which gets registered to be monitored like any other request, but never ends up sending the requisite termination prompts to remove it from the list of requests to watch. Once the timeout ends (after a default limit of three hours), Lucee kills the thread that was associated with the request even though in our case the thread had long since gone on to do other work. In our case, the thread was a Tomcat thread that was almost always waiting to take another job from the queue of HTTP requests, and killing it put Tomcat into an unrecoverable invalid state where no traffic could be serviced.

Environment

None

Activity

Show:

Michael Offner 11 July 2016 at 07:27

this sentence is not correct and the angle point for our solution:
"Lucee keeps track of requests that come in and if those requests don't respond in an appropriate amount of time, Lucee will kill the thread associated with the request"
request threads get killed when the server reach the request timeout. What is expected behaviour we cannot simply disable.

A request using a "HttpServletRequestDummy" object should never point to a thread created by the servlet engine (tomcat), if it does we need to address this.
The easiest way to find out, is when a pagecontext timeouts to check check if the thread is from the servlet engine and we have a "HttpServletRequestDummy" and log all possible info in this case, so we have more context for this issue.

Michael Offner 11 July 2016 at 07:17

the pull avoids the problem but does not solve it. But the real problem is coming with this pull that it disables request timeout for all cfthreads. We need to find an other solution to solve this.

Brad Wood 1 July 2016 at 20:16

Unresolved

Details

Assignee

Reporter

Priority

Labels

New Issue warning screen

Before you create a new Issue, please post to the mailing list first https://dev.lucee.org

Once the issue has been verified, one of the Lucee team will ask you to file an issue

Affects versions

Created 1 July 2016 at 17:38
Updated 21 May 2024 at 20:19

Flag notifications