We've inherited an application (a fairly large one) that has a lot of
unlocked reads and a few unlocked writes to shared scope variables (was
written before all the problems of unlocked reads and writes came to
light).

We can catch all the unlocked writes, but there are a LOT of unlocked
reads, and some of them are nasty (i.e., a CFIF Session... that wraps a
LARGE amount of code).  We're not sure of all the ramifications of bulk
loading the session scope into the request scope yet - there may be
writes to session that need to be read in the same template, etc.  We'll
figure these out as we rewrite and clean up.

But the problem is, we need to have this application live right now, and
it may be playing havoc with our servers.

So, we're going to turn "automatic read locking" on for session, and
"full checking" server and application.  We've done this on our dev box,
and caught all the unlocked writes.

But, if we do this to our production box, what is the performance impact
of this?  Is it similar to just having the locks in there?  I understand
that the pcode 'compiler' puts the locks in where it needs when it
compiles the template, and sometimes it doesn't always put it in the
most optimized place, right? 

So this would be similar to us putting a CFLOCK around that huge CFIF
Session.whatever block, right?

Would this be better or worse then "Single-Threading" sessions?

Thanks in advance!
-- 
Edward Smith                      Internet Broadcasting System
Director of Architecture          http://www.ibsys.com

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm

Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to