Re: CFLOCK HELLLLPPPP

2000-10-27 Thread Chris Norloff

I believe that locking a whole page, or even a bunch of conditional code, is slow.  
Put read locks around the reads, and carry temporary variables out of them.  Then, and 
only then, put write locks around the writes. 

See
CF Locking Best Practices
http://www.allaire.com/handlers/index.cfm?ID=17318Method=Full


Chris Norloff

-- Original Message --
From: [EMAIL PROTECTED] (Carol Bluestein)
Reply-To: [EMAIL PROTECTED]
Date: Fri, 20 Oct 2000 11:29:19 -0400

Hi all.   Sorry about another cflock question, but using it has stopped our
system cold.

Our system: CF v4.1 on NT integrating with ESRI ArcIMS and using SYBASE IQ12 on
UNIX for our datawarehouse.  In ArcIMS, the screen is divided into frames and
and the CF comes on in one of the frames.  I put a CFLOCK around a set of
session variables.  See code below.  Then I have an SQL statement using the
session.variables and put a CFLOCK around this too.  Now, I have to say that it
takes forever to get a query back (2 or more minutes) but I have no control over
the IQ server and once I added the CFLOCK it came back with "Timed out while
waiting to obtain exclusive lock." and stopped everything cold.To get it
working again, we have to reboot our CF server.  If we put a THROWTIMEOUT= "No" 
it will continue to process but we need those session variables for the query
that follows.

If I am to use CFLOCK how can I do it without locking our whole system?

Any Help would be very much appreciated.

Carol


CFLOCK NAME="#session.sessionID#" TYPE="EXCLUSIVE" TIMEOUT="30"
CFPARAM NAME="session.sample" DEFAULT="1"
CFIF form.sample gt ''
cfset session.sample = val(form.sample)
/CFIF

CFPARAM NAME="session.data_type" DEFAULT="S"
CFIF form.data_type gt ''
cfset session.data_type = form.data_type
/CFIF

CFPARAM NAME="session.operator" DEFAULT=""
CFIF form.operator gt ''
cfset session.operator = form.operator
/CFIF

!--- adding if to set session variable  CW 10/18/00---
CFPARAM NAME="session.field" DEFAULT=""
CFIF form.operator gt ''
cfset session.field = form.field
/CFIF
/CFLOCK


Carol L. Bluestein
Senior Programmer
NYS Office of Real Property
518-486-6335
[EMAIL PROTECTED]

Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists or send a message 
with 'unsubscribe' in the body to [EMAIL PROTECTED]


Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists or send a message 
with 'unsubscribe' in the body to [EMAIL PROTECTED]



CFLOCK HELLLLPPPP

2000-10-20 Thread Carol Bluestein

Hi all.   Sorry about another cflock question, but using it has stopped our
system cold.

Our system: CF v4.1 on NT integrating with ESRI ArcIMS and using SYBASE IQ12 on
UNIX for our datawarehouse.  In ArcIMS, the screen is divided into frames and
and the CF comes on in one of the frames.  I put a CFLOCK around a set of
session variables.  See code below.  Then I have an SQL statement using the
session.variables and put a CFLOCK around this too.  Now, I have to say that it
takes forever to get a query back (2 or more minutes) but I have no control over
the IQ server and once I added the CFLOCK it came back with "Timed out while
waiting to obtain exclusive lock." and stopped everything cold.To get it
working again, we have to reboot our CF server.  If we put a THROWTIMEOUT= "No" 
it will continue to process but we need those session variables for the query
that follows.

If I am to use CFLOCK how can I do it without locking our whole system?

Any Help would be very much appreciated.

Carol


CFLOCK NAME="#session.sessionID#" TYPE="EXCLUSIVE" TIMEOUT="30"
CFPARAM NAME="session.sample" DEFAULT="1"
CFIF form.sample gt ''
cfset session.sample = val(form.sample)
/CFIF

CFPARAM NAME="session.data_type" DEFAULT="S"
CFIF form.data_type gt ''
cfset session.data_type = form.data_type
/CFIF

CFPARAM NAME="session.operator" DEFAULT=""
CFIF form.operator gt ''
cfset session.operator = form.operator
/CFIF

!--- adding if to set session variable  CW 10/18/00---
CFPARAM NAME="session.field" DEFAULT=""
CFIF form.operator gt ''
cfset session.field = form.field
/CFIF
/CFLOCK


Carol L. Bluestein
Senior Programmer
NYS Office of Real Property
518-486-6335
[EMAIL PROTECTED]

Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists or send a message 
with 'unsubscribe' in the body to [EMAIL PROTECTED]



RE: CFLOCK HELLLLPPPP

2000-10-20 Thread Dave Watts

 Hi all. Sorry about another cflock question, but using it 
 has stopped our system cold.
 
 Our system: CF v4.1 on NT integrating with ESRI ArcIMS and 
 using SYBASE IQ12 on UNIX for our datawarehouse. In ArcIMS, 
 the screen is divided into frames and and the CF comes on 
 in one of the frames. I put a CFLOCK around a set of session 
 variables. See code below. Then I have an SQL statement using 
 the session.variables and put a CFLOCK around this too. Now, 
 I have to say that it takes forever to get a query back (2 or 
 more minutes) but I have no control over the IQ server and 
 once I added the CFLOCK it came back with "Timed out while
 waiting to obtain exclusive lock." and stopped everything 
 cold. To get it working again, we have to reboot our CF 
 server. If we put a THROWTIMEOUT= "No" it will continue to 
 process but we need those session variables for the query
 that follows.
 
 If I am to use CFLOCK how can I do it without locking our 
 whole system?

I've never seen CFLOCK cause the server to need to be cycled!

There are a couple of things you might look at.

In your query, are you writing to session variables, or simply reading them?
If you're just reading them, you don't need an exclusive lock. You might
also, in that case, cast the variables to a local scope within a lock before
the query, then reference the local variables instead.

Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/
voice: (202) 797-5496
fax: (202) 797-5444

Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists or send a message 
with 'unsubscribe' in the body to [EMAIL PROTECTED]