Skip to main content
Participant
December 15, 2011
Question

coldfusion Jrun apache connector recvTimeout and retry.

  • December 15, 2011
  • 1 reply
  • 1022 views

Hi,

       I have set a recvTimeout for the JRUN apache connector using the

 

JRunConfig RecvTimeout 300

        I want this setting so long running pages will time out and return after 300 s with a timeout error and return the error back to the client.

However, I see that the timeout is not working and long running cfm pages continue to cycle without returning. Upon enabling the verbose option I see the following error logged for the long running page after the timeout occurs, but the page does not return anything and continues to wait on the client side.

What does this error mean: jrRecv [11] timeout but server reachable so recv again

Is the jrun apache connector retrying or waiting some more for the page response ? I dont want it to retry / wait beyond the recvTimeout that I have set. What can I do in the config or elsewhere so that the recvTimeout returns as a timeout to apache and cleint without recv again attempt that it appears to be doing?

Thanks in advance for any help on this.

[Thu Dec 15 15:29:48 2011] [notice] jrApache[3068: 20480]     ap_escape_uri(TimeoutTest.cfm) = TimeoutTest.cfm
[Thu Dec 15 15:29:48 2011] [notice] jrApache[3068: 20480]  jrun_trans: sub-request so DECLINED
[Thu Dec 15 15:29:48 2011] [notice] jrApache[3068: 20480]     getRealPath(TimeoutTest.cfm) = TimeoutTest.cfm
[Thu Dec 15 15:29:48 2011] [notice] jrApache[3068: 20480]  sent/avail/result 79/79/79
[Thu Dec 15 15:29:53 2011] [notice] jrApache[3068: 20480]  read/len/total 4/4/4
[Thu Dec 15 15:29:53 2011] [notice] jrApache[3068: 20480]  PROXY_GET_HEADER <- [11]
[Thu Dec 15 15:29:53 2011] [notice] jrApache[3068: 20480]  read/len/total 4/4/4
[Thu Dec 15 15:29:53 2011] [notice] jrApache[3068: 20480]  read/len/total 21/21/21
[Thu Dec 15 15:29:53 2011] [notice] jrApache[3068: 20480]     HTTP_X_REQUESTED_WITH: <null>
[Thu Dec 15 15:29:53 2011] [notice] jrApache[3068: 20480]  sent/avail/result 4/4/4
[Thu Dec 15 15:34:53 2011] [notice] jrApache[3068: 20480]  67.206.10.197:51050 jrConnect [9]
[Thu Dec 15 15:34:53 2011] [notice] jrApache[3068: 20480]  sent/avail/result 4/4/4
[Thu Dec 15 15:34:53 2011] [notice] jrApache[3068: 20480]  67.206.10.197:51050 is reachable
[Thu Dec 15 15:34:53 2011] [notice] jrApache[3068: 20480]  sent/avail/result 4/4/4
[Thu Dec 15 15:34:53 2011] [notice] jrApache[3068: 20480]  67.206.10.197:51050 is reachable
[Thu Dec 15 15:34:53 2011] [notice] jrApache[3068: 20480]  67.206.10.197:51050 returned socket [9] to pool
[Thu Dec 15 15:34:53 2011] [notice] jrApache[3068: 20480]  jrRecv [11] timeout but server reachable so recv again
[Thu Dec 15 15:36:33 2011] [notice] jrApache[3068: 20480]  read/len/total 4/4/4
[Thu Dec 15 15:36:33 2011] [notice] jrApache[3068: 20480]  PROXY_GET_REALPATH <- [11]
[Thu Dec 15 15:36:33 2011] [notice] jrApache[3068: 20480]  read/len/total 4/4/4

This topic has been closed for replies.

1 reply

BKBK
Community Expert
Community Expert
December 18, 2011

sunilr1 wrote:

Hi,

       I have set a recvTimeout for the JRUN apache connector using the

 

JRunConfig RecvTimeout 300

        I want this setting so long running pages will time out and return after 300 s with a timeout error and return the error back to the client.

That is not the setting to time out long-running pages and then return a message. Why would you want to control request timeouts from JRun anyway? I don't think it's a good idea.

RecvTimeout determines how long to wait before timing out a socket receive call on a JRun server. The receive call is generally a synchronous call on a socket on a JRun server. It will throw an exception if the time out period is exceeded. In other words,  a long-running page does not necessarily imply a long wait on a socket receive call.

sunilr1Author
Participant
December 19, 2011

Thank you for your reply. How do I then timeout these long running cfm pages. They run long due to connection to a DB, and the cold fusion admin timeout does not work with CFQUERY or other such commands as per the cold fusion website. In other words, I cant time out the page from cold fusion or from JRUN connector, so how do I get the page to timeout so the user can get some response back. Thanks.

sunilr1Author
Participant
December 19, 2011

The issue is that the client is unwilling to set a timeout in the CFQUERY and instead wants this to be handled from the server side. If it were set on the cfquery it would solve this issue, but I need a way to timeout these from the server side instead.