Are you using any type of error handling on the query attempts? This along
with the Timeout attribute can kill the thread if the request runs too long.
Russ Johnson
Web Environment Services
Blue Cross Blue Shield of Florida
Work: 904-905-7130
Mobile: 904-534-8162
[EMAIL PROTECTED]
"Great thinkers have always encountered violent opposition from mediocre
minds." -- Albert Einstein
-----Original Message-----
From: Todd Ashworth [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, July 25, 2001 10:59 PM
To: CF-Server
Subject: Serious issues with connectstring causing CF server threads to
hang
I have posed this question on CF-Talk and on the Forums and even opened a
ticket with Macromedia tech support, but I still don't have an answer. Tech
support is still working on a resolution (if there is one), but after 16
months of development, we are ready to deploy this app. for Beta testing and
this show-stopping problem is really throwing off our schedule. It is soo
frustrating to finish a long project only to be held up at the last moment
by a problem that can't be developed around! I'm hoping someone on the
cf-server list might have some ideas.
Here we go ...
I am using connectstring to connect to a Saybase database. I can normaly get
the queries to run fine, but if anything in the connectstring is wrong to
the point that it causes CF not to be able to connect to the database, the
current thread hangs 'permenantly'.
This is a very serious problem for me because the application I am
developing *has* to use connectstring. There is no way around it, that I
know of. Also, end users will be providing some of the parameters that make
up the connect string, so the likelyhood of failed connection attempts is
_very_ high. This could eaily kill performance on the server enough to make
the program unusable within a very short time (seconds even).
Here's my setup:
CF Server is running on NT 4.0 SP 6 using IIS 4.
The database engine runs on Windows 2000 Pro SP 2.
The database is Sybase ASA 7.02
The 2 machines communicate via NetBIOS (the CF server has a public IP and
the database server has a private one)
I pretty sure that the error has something to do with ColdFusion. The
database doesn't lock up in any way and actually returns an error message
saying that the database connection attempt failed. The CF machine actually
recieves the error because we can log it in the datasource log we set up.
ColdFusion is just missing this, or something.
Here is the debug info from the datasource on the CF machine which includes
the connectstring (The invalid data in this connectstring is the password)
.. notice the CONN messages:
-----
Wed Jul 18 2001 11:01
CONN: Application information:
"HOST=BUSINESSSAFE;OS=Windows NT 4.0 (Service Pack
6);PID=0x5d;THREAD=0xc9;EXE=C:\CFUSION\bin\cfserver.exe;VERSION=7.0.2.1402;A
PI=ODBC"
CONN: Attempting to connect using:
UID=3;PWD=******;DBF=e:\databases\gymtime\16.db;ENG=Saber;CON=SQL_DBC_4889cf
8;ASTOP=YES;INT=NO;CBSIZE=4096;DBG=YES;LTO=10;LOG=c:\gymbob.log;DMRF=NO;LINK
S=netbios
NetBIOS -- Trying connection on lan adapter: 1
NetBIOS -- Looking for name on lan adapter: 1
NetBIOS -- Found name successfully on lan adapter: 1
NetBIOS -- Trying connection on lan adapter: 1
NetBIOS -- Found session connection on lan adapter: 1
CONN: Connected to the server
CONN: Database is running, but could not connect to it
-----
So, as you can see, the CF machine is being notified that the connection
failed, it's just that CF doesn't seem to be getting the hint. The
connectstring is 100% correct, except for the password, which I inserted
incorrectly on purpose to generate the error. If the correct password is
provided, the connection is made and the query runs and the results are
returned .. everything performs perfectly.
After further testing, I found that it does NOT have to be the connectstring
that is wrong. I moved the uid and pwd out of the connectstring and into the
username and password attributes of the <cfquery> tag. Now, if I provide the
wrong password, the connectstring is 100% correct, but I still get the hung
thread. This makes me think that anytime there is *any* type of database
error while using the connectstring attribute, I will get a hung thread. I
haven't tested this on access or SQL Server yet, though.
I've included the query that I am calling.
<cfquery name="qryValidateLogin" datasource="#Request.mainDSN#"
username="#qryGetUserID.contactPK#" password="#Attributes.txtPassword#"
connectstring="dbf=e:\databases\gymtime\#Client.dbID#.db;eng=Saber;links=net
bios;">
SELECT 1
FROM dummy
</cfquery>
I have tried using every "timeout" method available on all of the machines,
but the thread still hangs 'permenantly'.
This is what I get in my application.log file, but I never get this error on
the screen:
-----
Mozilla/4.0 (compatible; MSIE 6.0b; Windows NT 5.0; COM+ 1.0.2204), ODBC
Error Code = 08S01 (Communication link failure) [Sybase][ODBC
Driver][Adaptive Server Anywhere]Communication link failure: Communication
errorDate/Time: 07/18/01 10:59:53
-----
Here is what I get in my server.log file:
A request exceeded the timeout. The unresponsive thread count is up to 1.
[C:\Inetpub\wwwroot\gymtime_2\index.cfm]
2001-07-18 11:03:05 Error 202
!! CFTrace::logThread(201) has no entry for thread 201
2001-07-18 10:59:53 Warning 199
Template: C:\Inetpub\wwwroot\gymtime_2\index.cfm, Ran: 1977 seconds.
2001-07-18 10:59:53 Error 201
Error number 232 occurred attempting to close connection to web server.
2001-07-18 10:59:53 Error 201
Windows NT error number 232 occurred.
2001-07-18 10:59:53 Error 201
Windows NT error number 232 occurred.
2001-07-18 10:59:53 Error 201
Error number 232 occurred while attempting to write the reply to the web
server.
-----
and I just have pages of this in my webserver.log file:
-----
Request canceled or ignored by server Server busy or unable to fulfill
request. The server is unable to fulfill your request due to extremely high
traffic or an unexpected internal error. Please attempt your request again
(if you are repeatedly unsuccessful you should notify the site
administrator). (Location Code: 26)
-----
Does anyone have ANY ideas?
Todd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at
http://www.fusionauthority.com/bkinfo.cfm
------------------------------------------------------------------------------
To unsubscribe, send a message to [EMAIL PROTECTED] with
'unsubscribe' in the body or visit the list page at www.houseoffusion.com