Just to pass on some hard-earned wisdom - the auto-read locking feature in CF doesn't 
work well at all.  It's supposed to automatically lock all reads to shared-scope 
variables (application, session, server) and throw an error on any unlocked writes.

We thought it would make things easier, but it lets things through and has evidently 
contributed to our instability and crashes/hangs.  

Basically, auto-read locking doesn't check things unless they're in a CFSET statement.

Examples:
1. A query named "application.varname" is a write into the application scope, but is 
not caught as a write.

2. StructInsert(application.varname, key, value) is a write into the application 
scope, but is not caught as a write.

Most likely, reads such as StructFind are not automatically locked since they're not 
in a CFSET statement.

So after a lot of trouble with session variables we're moving to client variables for 
as much as we can, and looking for places where auto-read locking has let us down.

Chris Norloff




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to