Coldfusion request never timeout for ldap requests !

691 Views Asked by At

I have an application running in CF8 which does calls to external systems like search engine and ldaps often. But at times some request never gets the response and is shown always in the the active request list.

Even tho there is request timeout set in the administration, its not getting applied to these scenarios.

I have around 5 request still pending to be finished for the last 20hours !!!

My server settings are as below

Timeout Requests after ( seconds) : 300 sec

Max no of simultaneous requests : 20

Maximum number of running JRun threads : 50

Maximum number of running JRun threads  : 1000

Timeout requests waiting in queue after 300 seconds 

I read through some articles and found there are cases where threads are never responded or killed. But i dont have a solid solution how can i timeout this or kill this automatically

really appreciated if you guys have some idea on this :)

3

There are 3 best solutions below

0
On BEST ANSWER

The ColdFusion timeout does not apply to 'third party' connections.

A long-running LDAP query, for example, will take as long as it needs. When the calling template gets the result from the query your timeout will apply.

This often leads to confusion interpreting errors. You will get an error saying that whichever function after the long running request causes the timeout.

Further reading available here

0
On

You can (and probably should) set a timeout on the CFLDAP call itself. http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7f97.html

0
On

Thanks, Antony, for recommending my blog entry CF911: Lies, Damned Lies, and CF Request Timeouts...What You May Not Realize. This problem of requests not timing out when expected can be very troublesome and a surprise for most.

But Anooj, while that at least explains WHY they don't die (and you can't kill them within CF), one thing to consider is that you may be able to kill them in the REMOTE server being called, in your case, the LDAP server.

You may be able to go to the administrator of THAT server and on showing them that CF has a long-running request, they may be able to spot and resolve the problem. And if they can, that may free the connection from CF and your request then will stop.

I have just added a new section on this idea to the bottom of that blog entry, as "So is there really nothing I can do for the hung requests?"

Hope that helps.