Queries using queryExecute() that take longer than the request timeout results in hung thread

Description

It seems all it takes for the thread to hang is to have a query take longer than the request timeout.

The following code will produce a hung thread in Lucee (as viewed in FusionReactor), but a request timeout error in ACF (after 5 seconds). The timeout is preferable

Activity

Show:
Chris Zeller
November 25, 2019, 12:17 AM
Edited

MSSQL JDBC driver version: 7.2.2.jre8

Here is a stack trace:

Chris Zeller
November 26, 2019, 1:09 AM

I think I have a solution. If {lucee}\WEB-INF\lucee-server\context\context\admin\dbdriver\MSSQL.cfc sets alwaysSetTimeout to true, it solves the problem (the query times out before the request, regardless whether or not the query has its own timeout defined).

Maybe alwaysSetTimeout can be exposed as an option on the datasource?

Michael Offner
December 20, 2019, 11:18 AM

the reason that setting is not exposed and exist in the first place, is that for example postgre open in case it is true a new thread for every query, what causes a lot of problems.

Assignee

Unassigned

Reporter

Chris Zeller

Affects versions

Priority

Critical
Configure