Macromedia has created a hot fix to address 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 purge for SQL repository not working correctly.
* Issue 56991 added 10/1/04. Hot fix download updated to include fix for this issue.
Note: The hot fix available in this TechNote should only be applied if the ColdFusion MX 6.1 Updater has not been installed. For ColdFusion MX 6.1 (with the Updater), please see TechNote 19590.
ColdFusion MX and MX 6.1 run hourly purge operations on client variables stored in the registry and data sources, even if you clear the "purge" option in the client variable settings in the ColdFusion MX Administrator. As the number of entries in the client store increase, the CPU usage needed to purge the entries increases as well.
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)
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.
Follow the instructions below to install the hot fix for ColdFusion MX 6.1 in the J2EE configuration with a J2EE server including JRun:
- Change the Context Parametercf.class.path
in the Deployment Descriptor (cf_root/WEB-INF/web.xml)
for the Web Application "Macromedia ColdFusion MX" (cfusion.war)
- 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).
- 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 forcf.class.path.
- You will usually need to stop and restart your J2EE server to make these changes effective.