Hi all,

I have a strange situation.  We are running MX 6.1 and in our production 
environment we have two servers.  We are having problems with CF restarting on 
both servers several times throughout the day.  We think we have reached a 
capacity limit, and this is part of the problem, but there are also some 
strange errors showing up in our logs.  

We use the method whereby you set application variables into the application 
scope and then "copy" them into the request scope for easy access from modules 
throughout the app.  All our application variables are stored in an 
"application.global" scope and we have this line of code that duplicates it:

<cfset Request.AppGlobal = duplicate(application.global) >

Immediately after this, we have a <CFIF request.appglobal.xxxx> line of code 
which is checking on the value of one of the global variables which are now 
supposed to be available in the request.appglobal scope.  However, about 1/2 of 
1 percent of the time, this line of code fails with the variable not being 
found in the request scope.  It appears that apparently, the line that 
duplicates the application.global scope into the request.appglobal scope is 
failing to do its job properly and therefore on the next line, the request 
scope variable doesn't exist so BAM.

A couple of things:

1.  This happens on both servers about an equal number of times.
2.  Our CF services are restarting themselves (apparently due to reaching the 
max number of unresponsive threads) throughout the day, but only during peak 
hours (evening and weekends are just fine).
3.  There is a direct correlation between the time the service restarts and 
these errors in the exception.log, however, we can't tell which occurs first 
(the restart or the error).

My *sneaking* suspicion is that the request scope is failing to copy properly 
due to a heavy load on the server and that is why it only occurs during high 
peak hours.  I am also "assuming" that when this happens, somehow, it causes an 
"unresponsive thread" (i.e. the error is logged in the exception.log, but the 
thread remains unresponsive) and therefore, when it does occur do to high 
capacity, it happens enough to cause the service to restart.

Can someone weigh in on this?  Especially anyone who has had any type of 
similar issues with duplicate() in CFMX 6.1.

Thanks!

Dave Phillips

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting,
up-to-date ColdFusion information by your peers, delivered to your door four 
times a year.
http://www.fusionauthority.com/quarterly

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:256954
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4

Reply via email to