ColdFusion MX 6.1 Updater: Hot fix for client variables
Macromedia has created a hot fix to address multiple issues with client variable purging in ColdFusion MX 6.1 Updater.
Note: The hot fix available in this TechNote should only be applied if the ColdFusion MX 6.1 Updater is installed. For ColdFusion MX 6.1 (no Updater), please see TechNote 19279.
The hot fix available below addresses the following issues with client variable purging in ColdFusion MX 6.1:
- 49691 - Client variable purges from database loop and re-index, causing performance issues.
- 53910 - Client variable purge for registry runs, even when setting is unchecked.
- 54372 - Connection to database not closed after client variable purge.
- 54464 - Client variable purge for data sources runs, even when setting is unchecked.
- 56991 - Client variable access for sql repository not working correctly. Also changed to use the database default transaction isolation level to update client variables, if the database supports transactions. Improved deadlock avoidance when the same client variables are accessed by simultaneous pages, for example, when frames are used.
- 59915 - Client variables were incorrectly updated even when they were not changed, and Disable global client variable updates was checked in the ColdFusion Administrator
- 59993 - Client variables are now shared in memory by simultaneous requests and the timout for accessing client variables and for updating the persistent store (if necessary) follows the page's RequestTimeout (or 120 seconds if there is no RequestTimeout value).
Note: Issue 59993 was added to the updated hot fix published 6/13/2005.
A stack trace generated during the high CPU usage period would typically contain the following information:
"scheduler-2" prio=5 tid=0x3994fac8 nid=0xce4 runnable [4105f000..4105fdb8]
at coldfusion.tagext.NativeCfx.processRequest(Native Method)
at coldfusion.tagext.lang.RegistryTag.doStartTag(RegistryTag.java:90)
at coldfusion.runtime.ClientScopeServiceImpl.PurgeRegistry (ClientScopeServiceImpl.java:373)
at coldfusion.runtime.ClientScopeServiceImpl.PurgeExpiredClients (ClientScopeServiceImpl.java:390)
at coldfusion.runtime.ClientScopeServiceImpl$ClientScopePurger.run (ClientScopeServiceImpl.java:499)
at coldfusion.scheduling.ThreadPool.run(ThreadPool.java:201)
at coldfusion.scheduling.WorkerThread.run(WorkerThread.java:70)
ColdFusion MX 6.1 - Server Configuration
Follow the instructions below to install the hot fix for ColdFusion MX 6.1 in the server configuration. For J2EE servers including JRun, use the instructions under the J2EE Configuration section.
Windows
- Download the hot fix (27K).
- Stop ColdFusion.
- Create the directory cf_root\runtime\servers\lib if it does not exist.
- Extract hf59993_611.jar from the downloaded ZIP file, into the following directory: cf_root\runtime\servers\lib\
- Restart ColdFusion.
- Examine the ColdFusion MX Administrator System Information page and confirm that hf59993_611.jar shows in the Java Class Path list.
Unix
- Download the hot fix (27K).
- Stop ColdFusion.
- Create the directory cf_root/runtime/servers/lib if it does not exist.
- Extract hf59993_611.jar from the downloaded ZIP file, into the following directory : cf_root/runtime/servers/lib/
- Edit the file cf_root/runtime/bin/jvm.config:
- Locate the JVM classpath section.
- Add {application.home}/runtime/servers/lib as the first entry in the java.class.path list.
For example:
# JVM classpath java.class.path={application.home}/runtime/servers/lib, {application.home}/runtime/../../src, {application.home}/lib/cfusion.jar, {application.home}/runtime/lib/webservices.jar
- Restart ColdFusion.
- Examine the ColdFusion MX Administrator System Information page and confirm that hf59993_611.jar shows in the Java Class Path list.
ColdFusion MX 6.1 - J2EE Configuration
ColdFusion MX 6.1 - J2EE Configuration with JRun
Follow the instructions below to install the hot fix for ColdFusion MX 6.1 in the J2EE configuration with a J2EE server including JRun:
- Download the hot fix (27K).
- Extract hf59993_611.jar from the downloaded ZIP file, into thecf_root/WEB-INF/lib directory.
- Change the Context Parameter cf.class.path
in the Deployment Descriptor (cf_root/WEB-INF/web.xml)
for the Web Application "Macromedia ColdFusion MX" (cfusion.war)
from:
./WEB-INF/cfusion/lib/cfusion.jar
to:
./WEB-INF/lib/hf59993_611.jar,./WEB-INF/cfusion/lib/cfusion.jar
- Note that the two paths in cf.class.path each start with a period and are separated by a comma.
- Do not confuse ./WEB-INF/lib (which contains the hot fix jar file) with ./WEB-INF/cfusion/lib (which contains cfusion.jar).
- Stop and restart the J2EE server for changes to take effect.
- Examine the ColdFusion MX Administrator System Information page and confirm that hf59993_611.jar shows up in the Version section like 6,1,0 hf59993_611. Note: You will not see this jar in the Java Class Path because the hot fix jar is being loaded in the Coldfusion Class Path.
- Repeat steps for each deployed instance of ColdFusion.
About changing the Deployment Descriptor
- Deployment Descriptor Context Parameters can be changed using the J2EE Administrator Control Panel (WebLogic and JRun) or by using the Application Assembly Tool (Websphere). If your J2EE server does not have such a tool, you must make sure that the Context Parameter change is made for all deployed instances of ColdFusion. It may be necessary to un-deploy CFMX, make the change, then re-deploy CFMX. See your J2EE documentation for other methods.
- Be sure to Persist (WebLogic) or Save (Websphere) your changes after you change the value for cf.class.path.
- You will usually need to stop and restart your J2EE server to make these changes effective.
Additional Information
- ColdFusion MX 6.1 and ColdFusion MX 6.1 Updater confirmed issues (18795)
- ColdFusion hot fixes (MX and higher) (17883)
This content requires Flash
To view this content, JavaScript must be enabled, and you need the latest version of the Adobe Flash Player.
Download the free Flash Player now!
