tracker issue : CF-4058796

select a category, or use search below
(searches all categories and all time range)
Title:

requestTimeout attribute of cfsetting tag not working in Application.cfc

| View in Tracker

Status/Resolution/Reason: Closed/Won't Fix/Workaround

Reporter/Name(from Bugbase): Joe Chastain / Joe Chastain (Joe Chastain)

Created: 09/17/2015

Components: Core Runtime

Versions: 11.0

Failure Type: Incorrect w/Workaround

Found In Build/Fixed In Build: CF11_Final /

Priority/Frequency: Normal / Some users will encounter

Locale/System: English / Windows 8.1/64bit

Vote Count: 1

Problem Description: Previous to ColdFusion 11, the 'requestTimeout' attribute of the cfsetting tag was working in Application.cfc without needing to be in the 'onRequestStart' function. Now it works in the Application.cfc only if it is in the 'onRequestStart' function. Other attributes of the cfsetting tag, such as 'showdebugoutput', still work outside the 'onRequestStart' function. There is no documentation specifying that 'requestTimeout' is required to be in 'onRequestStart'. 

Steps to Reproduce: Set 'requestTimeout' in the Application.cfc outside of 'onRequestStart'. 

Actual Result: It will be ignored and the server-wide setting in ColdFusion Admin will be used. 

Expected Result: It should be respected and override the server-wide setting in ColdFusion Admin. 

Any Workarounds: Move cfsetting tag to 'onRequestStart' function in Application.cfc or to the specific page that needs a longer timeout than the server setting.

----------------------------- Additional Watson Details -----------------------------

Watson Bug ID:	4058796

External Customer Info:
External Company:  
External Customer Name: Joe Chastain
External Customer Email:  
External Test Config: My Hardware and Environment details: Running Windows 8 with VDI.

Attachments:

Comments:

Adobe, Is the fix going to be to allow per-Application settings to take effect immediately and be usable in Application.cfc's initialization area? Thanks!, -Aaron
Comment by External U.
5844 | September 23, 2015 12:57:33 PM GMT
<cfsetting> tag to set request timeout inside Application.cfc constructor will not be supported. Inside Application CFC constructor one can use this.timeout to set request timeout. There was issue with this.timeout not overriding Admin set timeout which is now fixed (CF-3963559) (Comment added from ex-user id:sandeepp)
Comment by Adobe D.
5845 | September 23, 2015 11:01:01 PM GMT
Hi Sandeep My last comment was intended for ticket CF-3963559. Please disregard it here. I was just about to submit this note and I see you just replied here at the same time :) Perfect timing! Thanks!, -Aaron
Comment by External U.
5846 | September 23, 2015 11:09:19 PM GMT
Hi Sandeep, I see THIS.timeout isn't actually a workaround. Can you please compare these on CF10 (I verified on CF10 Update 15)? 1) Throws timeout: <cfcomponent> <cfset THIS.name = "ticket_CF-4058796"> <cfsetting requesttimeout="5"> <cfset sleep(10000)> <cfoutput>#createObject("java", "coldfusion.runtime.RequestMonitor").getRequestTimeout()#</cfoutput> </cfcomponent> 2) No timeout: <cfcomponent> <cfset THIS.name = "ticket_CF-4058796"> <cfset THIS.timeout = 5> <cfset sleep(10000)> <cfoutput>#createObject("java", "coldfusion.runtime.RequestMonitor").getRequestTimeout()#</cfoutput> </cfcomponent> Existing code using cfsetting/setting in Application.cfc's initialization area is doing so b/c per-App settings don't take effect immediately in the initialization area. So, IMO, one of these should be done: 1) Allow cfsetting/setting in Application.cfc's initialization area -or- 2) Allow per-App settings to take effect immediately in the initialization area My preference is #2. Otherwise, developers are going to have to move their code around. Simply replacing cfsetting/setting w/ this.timeout won't fix the issue for them. Thanks!, -Aaron
Comment by External U.
5847 | September 24, 2015 12:10:44 AM GMT
THIS.timeout isn't a workaround. Please see previous comment.
Comment by External U.
5848 | September 26, 2015 09:28:08 PM GMT
*bump* THIS.timeout takes effect _after_ Application.cfc's pseudo constructor has ran. Therefore, it is not a workaround for increasing the pseudo constructor's timeout. This ticket's status is Closed/NeverFix/Workaround. Since the "Workaround" (THIS.timeout) part is not true, this ticket should be re-opened. In CF10, cfsetting's requesttimeout took effect immediately in the Application.cfc psuedo-constructor so this should be fixed for CF11+. Thanks!, -Aaron
Comment by External U.
5849 | January 04, 2016 09:59:07 PM GMT
+1 - THIS.timeout takes effect _after_ Application.cfc's pseudo constructor has ran. Therefore, it is not a workaround for increasing the pseudo constructor's timeout.
Vote by External U.
5852 | January 04, 2016 10:25:31 PM GMT
[subscribe]
Comment by External U.
5850 | January 05, 2016 04:55:10 AM GMT
**BUMP**!!!!!!!!!!!
Comment by External U.
5851 | July 06, 2016 12:07:33 PM GMT