Saturday, May 24, 2008

ColdFusion Client Variables Voes

I've been faced with ColdFusion instability on a project for sometime. Frequent, daily restarts of ColdFusion have been happening (for months) and I never could figure out why. Recently, I've noticed these nice crash dumps in CFMX-ROOT/runtime/bin which complained a lot about Client variable persistence storage (from what I gathered in the stack traces).

The site uses MS Access as a database for storing client variables. I don't think there's lots of client variables in the application itself, but they are used regularly throughout. Anyways, client storage was earlier set to registry and my registry size went through the roof (took me sometime to dig out a post on cleaning the registry manually). I've changed it to a database storage mechanism (don't ask why Access is used) and it worked fine after that (sort of).... I think it did.

Long story short: I tried using cookies as a client variable storage. No more crashes. Its probably too early to tell. I tried switching back to database storage and trashing the application a bit to quickly reproduce another crash of the server. With cookies the same thing did not crash the server. So perhaps there's something there.

This was CFMX 7.0.2 with Win Server 2003.

Sunday, May 4, 2008

Verity K2 and indexing files

For whatever reason it seems that trying to index a fairly large number of Excel files with Verity K2 (CFMX 7.2) seems to take forever. CPU is super-busy and the collection size is not really changed that much even after waiting for more then an hour. On the other hand, indexing smaller directories is a lot faster - 200 small Excel files are done in about 2 minutes or so (collection is still well below 100,000 documents).

Considering how fast database records were indexed (I had about 2-3 minutes per 10,000 database rows) it just seemed like something was not right. Anyways, chunking those 20,000+ Excel files into sub-directories led to below 30 minute total indexing time. Tip of the day: don't try to index such a large number of excel sheets at one go, instead go with smaller directories.