It's example 6 on the thread dump article.
Technote
18339
The registry is not a database and anything > 10,000
records will hang as the code serially goes through and deletes. My
guess is the process thread trying to do the query into the
registry (and purge) is dying and it never does the deletes.
This template will tell you how many records you have:(I
believe it works for 7.x as well)
clienttest.cfm
<cfset start = GetTickCount()>
<cftry>
<cfregistry action="GETALL"
branch="HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\ColdFusion\CurrentVersion\Clients\"
name="q1"
type="Key">
<!--- <cfdump var="#q1#"> --->
<cfcatch
type="coldfusion.tagext.lang.RegistryException">no clients
<br></cfcatch>
</cftry>
<CFOUTPUT>Records:
#q1.recordcount#</CFOUTPUT><BR>
<cfoutput>elapsed: #GetTickCount() -
start#ms<br></cfoutput>
It's not a good idea to use Registry on production systems.
CF7 even gives you a warning in the logs after 10,000 records is
reached (but only once) Switch to database as soon as possible.