[Looking for Charlie's main web site?]

Recordings for nearly a dozen recent FusionReactor webinars I've done

I've been doing a series of one-hour webinars about FusionReactor over the past several months. They've covered nearly a dozen different topics (all with live demos), with more to come, including one just last week, "Making the Most of FusionReactor's Logs".

You can learn more about that and the previous ones and find their recordings at fusion-reactor.com/webinars. I also list all the webinars below, with links to each webinar's page with its recording.

(Note that sometimes the description offered on the main webinars page is a truncated variant, but click on the session link there or my links below which take you to the recording and the full description.)

Of course you'll find future webinars on the FR webinars page as their dates are posted, and you can register for them then (all free). By attending live of course you can ask questions as we go.

Some of the webinars are geared more toward folks who've been using FR (though maybe not to its maximum potential) though I try to make even them accessible to newcomers, while others are more well-suited to newcomers. (To be clear, I don't work for the company that makes the product, but I've been a huge fan for over 10 years.)

[....Continue Reading....]

The 100 most interesting posts on the Adobe ColdFusion blog, the past 3 years

The Adobe ColdFusion team blog often has really some interesting content, but I find that some people are either not aware of the blog or just don't keep up on it, or perhaps they have trouble finding something they saw before or maybe heard was there.

So here I present what I feel are the 100 (technically, 105) most interesting/useful posts made there over the past 3 years (2014-16), offering information about CF and CFML which should be valuable to readers for years to come.

[....Continue Reading....]

2016 in review: top 10 CArehart ColdFusion posts of the year

I thought it may be useful to gather up a categorized listing of my most (seemingly) helpful/resourceful blog posts of the past year, to help others be aware of them (and indeed to help me be reminded).

[....Continue Reading....]

I'll be speaking at CFCamp in Munich, Germany, Oct 20-21. See you there!

I'm delighted to announce that I'll be presenting again this year at CFCamp, in Munich, Oct 20-21.

[....Continue Reading....]

Why you should think twice about leaving on the "public JRE" option of the Java JDK installer

This is a follow-up to a post I did in late 2014, CF911: 'Help! I've updated the JVM which ColdFusion uses, and now it won't start!'. In that post, I listed about a dozen common problems that befall people who try to update the JVM that CF is using (and it and this post apply as well to Lucee or BlueDragon, or indeed any Java application server).

In this post, I want to elaborate on one more common mistake. Well, mistake may be too strong word. It's about a default option when you run a Java JDK installer (see the other post for more on JDK vs JRE options).

In short, I make the case here for why you should NOT let the JDK installer implement its "public jre" option.

[....Continue Reading....]

How to solve common problems with applying ColdFusion updates (in 10 and above)

While ColdFusion 10 and later releases add a new automated update installation mechanism, what do you do if the update doesn't work? The answer may be simple on the surface, but not obvious to most. (And you'll likely be in panic mode.)

Many find after applying a ColdFusion update that either CF won't start at all, or they can't access the ColdFusion Admin, or some part of CF or their app doesn't work. The problem may be simply that there was an error in the update process CF did, and it may be rather easily confirmed and resolved.

In this post, I share several tips and observations to help resolve this, based on my years of providing remote CF troubleshooting support.

The TLDR version: check the ColdFusion update log (not logs in the normal CF "logs" folder. More detail below.) And if there are errors, try stopping CF yourself and then either try the update again, or if it still fails, try to manually apply the update from the command line. If that's enough to get you going, great--especially if you ARE in panic mode! (If the "problem" you need to solve, instead, is that you can't get CF to show you updates because you're behind a firewall preventing outbound internet access, I help with that also, toward the end.)

For most people, though, even those "simple things to do" can prove challenging (and understandably so). And you may find different resources on the web offering perhaps truncated discussions of the topics, which is why I elaborate on things in this post.

And even if you're in a panic, it may take only about 10 minutes to read this whole post. (You can also hire me to help instead, of course. See the link above.) Hope the info to follow is helpful for you.

[....Continue Reading....]

The ColdFusion 'metrics log', an oft-missed or misunderstood feature, 'new' since CF10 (Part 1)

I'd like to take a diversion from my recent posts focused on CF2016 and talk about something that applies (and should interest) anyone using CF 10, 11, or 2016.

Have you heard of the new "metrics log" option that was enabled in CF10? If you have not, it's worth knowing about (there's precious little documentation, and I'll point to it, and give you still more info to help you use it). It's a useful, low-impact mechanism to get some high-level metrics logged by CF every 60 seconds (by default), and stored along with other CF logs.

If you did know about it, you've probably had some problems with it. Why does it show "nulls"? What do reported metrics really mean? Why do they not jive with what I'd expect to be the numbers reported?

In this post, and a Part 2 to come, I will introduce the metrics log, pointing out some key things you need to know to have it setup to work at all, and then I'll share my observations of things I've come to understand about the reported metrics.

[....Continue Reading....]

ColdFusion 2016: Changes in the CF Administrator

As folks continue to explore ColdFusion (2016 Release), aka CF2016, regarding what's new or changed, I thought I'd put together a listing of what has changed in the CF Admin specifically. This is another in a series of posts I started last week on CF2016.

In the past, I've tracked these Admin changes in each release, in the various "Hidden Gems" talks I've done about each release. (Somehow I never did a blog post about those earlier releases, at least 9, 10, and 11. The last such post I did was about Admin changes in CF8.)

So without further ado, here are the changes I've found.

[....Continue Reading....]

Tending the SQL Server garden: tuning and maintenance resources (updated and useful)

Often in my role as an independent consultant providing ColdFusion server troubleshooting services, I find myself helping folks determine whether or that a problem is in their database.

And though it may surprise many, I generally do not find the problem to be very often with the SQL they are running. More often it's about configuration issues. For instance, it may be that they have not been keeping their indexes or statistics updated, or it may be that they need indexes that they don't have, or have too many that they don't really need. Or it may be that they have not done any tuning at all and the default settings for their database server are not be well suited to them.

And though such problems are common to any database server (MySQL, Oracle, PostgreSQL, and so on), I find that an awful lot of my clients (for whatever reason) do run on Windows and do use SQL Server (and that doesn't make them stupid or lazy. Different strokes for different folks).

So in this post I want to focus on some SQL Server resources, related to such matters, which I find that I refer folks to often. Some are blog posts, some are code you can run, and some are tools (mostly free).

People using other DBs would do well to read along and could find corresponding resources/tools for the same problems in their respective DB servers.

[....Continue Reading....]

Great set of substantial, practical, but brief videos on IIS

This isn't "new" information, though it was new to me this week. I came across this excellent set of youtube videos, 50 substantial yet brief overviews of key IIS topics from IIS/.NET/Windows guru Scott Forsyth.

I offer the list of topic titles (and links to them) below, and have even created a YouTube playlist with them, but note that the links below go to pages that the author had created where he offered a helpful introduction to each video (more than appears in the Youtube description for each).

I had also wanted to offer here this brief overview of them, to set the context and encourage you to view them, so as not to dismiss them if other tech video series haven't impressed you. Whether you're new to IIS 7 or 8, or an old hat user, there really is something for everyone, including wonderful little tips he shares in passing during most videos (which average about 10-20 minutes each).

[....Continue Reading....]

More on Tomcat 'Status Worker', as discussed recently by Adobe

If you're running CF 10 or 11, there's a very interesting post on the Adobe CF blog, from July 19, entitled, Configuring Status Worker in Connectors. The Adobe blog post title may not have caught your attention, but it's about setting up a lightweight and built-in Tomcat monitoring feature for observing the status of the Tomcat web server connector.

You may want to consider enabling it, but I would add some caveats and observations that I share below. Note that it's really quite easy to enable, and DOES NOT require a restart of CF (only of your web server, or technically in IIS, the application pool/s) to take effect.

If you've not yet read their blog entry, go check it out and then come back here for several observations I have to share, some of which I think you'll agree could be very important. (BTW, if you don't follow that Adobe CF blog regularly, you really should. Often great content, and very little "noise".)

[....Continue Reading....]

See you at dev.Objective() in mid-May (I'll be speaking)

Just wanted to share word (sorry it took so long) that I'd been selected as a speaker at the upcoming dev.Objective() conference, in Minneapolis in Mid-May. Hope to see lots of my fellow CFers there, and of course new folks who were not CFers.

While the conference name has changed (from cf.Objective()), there are still plenty of CF-oriented topics, and of course as nearly everyone would point out, it's good for everyone to expand their reach and focus.

To that end, I'll be doing a topic a bit different than my normal focus of CF server troubleshooting. Instead, recognizing that there will be folks there who either use other servers, or develop web apps or mobile apps, I'll do a bit of a "soft" topic on how to troubleshoot performance problems more generically, in:

Hey, my web app's slow. Where's the problem?

[....Continue Reading....]

CF911: Help, How do I connect sites to a new instance w/ the ColdFusion 10/11 webserver config tool?

This one causes a lot of heartburn for folks: you add a new instance in CF10 or 11 (in editions other than Standard, which do support adding instances), and you find that you can't seem to have the web server configuration tool (wsconfig) connect sites to that new instance(s). You never see the new instance listed in the UI of the wsconfig tool. What gives?

The solution is relatively easy, and the problem could maybe be fixed (or at least warned about) by Adobe (and I just filed a bug report for it). Until that happens, I wanted to share this. For more, read on.

[....Continue Reading....]

Updates, updates. Get your CF updates! The CF Team has been busy fixin' bugs!

If you'd not noticed, the CF team has been busy fixin' bugs! Over 300 in CF11 in just the past month. Check out these two announcements today of prereleases of update 5 for CF11 and update 16 for CF10:

This is on top of the release earlier this week of the final version of CF11 Update 4 (which had been in prerelease for a couple of weeks):

Great to see the CF team cranking on the bug fixes. I count just under 120 in the technotes for CF11 update 5, and just under 40 in CF10 update 16. And there were just under 200 fixes in Update 3 of CF11, which again was released just in recent weeks.

Yeah, but what about all those bugs?

Yes, I know some could twist things and say "yeah, but the problem is that there are so many bugs to be fixed". Sure.

Still, for others who may have longed to see their bugs fixed,

[....Continue Reading....]

Free, simple code to find out what SQL statements are running slow in SQL Server right now

Often when people are trying to troubleshoot seeming problems in ColdFusion (or whatever app server you use), they may wonder if (or have tools which suggest that) their CF requests are being held up waiting for some long-running query to run in the database.

Wouldn't it be nice to know, at any moment (such as when things are going badly), just what queries (or stored procedures or commands) were running in the database at that point in time?

Well here's good news: if you're running SQL Server, the following SQL query will show you just that: the currently running SQL statement(s) and some additional details about each query including their duration, their database name, the program executing the SQL, the session id, and much more.

(If you're running MYSQL, you may know that you can get pretty much the same info with SHOW PROCESSLIST. Or if you want to do it as SQL, you can use SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND != 'Sleep'. Sadly, it's just not that simple in SQL Server, it seems, thus the need for this entry.)

The code for SQL Server

Following is the code, and then some discussion of it:

[....Continue Reading....]

Understanding SQL Server Statistics: A great, free, relatively brief ebook

If you want to understand the important concept of SQL Server statistics (a mechanism within SQL Server which tracks metadata about your data, and which can significantly affect query performance if not managed well), I think you can do no better than than to spend an hour or so reading the free 40-page e-book, SQL Server Statistics, written by Holger Schmeling and offered by Red-gate. book cover

The book is a quick read, and really well done, including a discussion of what statistics are, why they're important, how to diagnose trouble with them, and how to use the SSMS interface and/or SQL statements/commands to better understand them.

There are plenty of screenshots and it's written in a tutorial manner. And while it's from 2010 and covers only up to SQL Server 2008, most of the concepts apply just as well to SS 2012 and beyond, and of course many organizations are still running on SS 2008 or even earlier!

Most important, Schmeling explains why it's important that you take responsibility to both create and maintain statistics (rather than leave it as something that "the database" should handle. And if you are leaving it as something "the db should handle", you can use this to make sure that person is doing their job with respect to statistics.)

[....Continue Reading....]

Solving slow CF startup: my elaborating on an Adobe blog entry on a possible solution

The fine folks at the Adobe CF blog posted a blog entry today, on "Sometimes ColdFusion services refuse to start normally post server restart" (by Rahul Upadhyay), which offers some helpful information on one possible solution to the stated problem of slow CF startup.

That said, there are some concerns I have, with respect to how I fear some may read and take action based on it (especially the notion of deleting the cfclasses files, as a possible solution to the problem).

I'm not contradicting Rahul here, just elaborating on some points, as someone who (like some on the CF team) helps people with CF server troubleshooting every day.

I started to write these thoughts as a comment there, and (as often happens) it grew long so I thought it better to be a blog entry rather than a long comment, and point people here. Once I did that I decided to go further still, hoping to really help those interested to consider the issue more carefully. (It also gives me a chance to highlight again the Adobe CF team blog, something I recommend EVERYONE reading this should follow!)

One quick point (and update) for the TL;DR cloud: My recommendation is that you move the cfclasses folder out of that location, as a temporary test, to see if it makes CF startup happen faster. If it does, I explain why and what the implications are in the choices of renaming, deleting, moving, or disabling the related "save class files" feature. Also, I add an update in E.1 below (since posting this) which you may really want to read: consider turning off your anti-virus software's real-time protection against the cfclasses folder to see if that alone helps with startup.

[....Continue Reading....]

CF911: 'Help! I've updated the JVM which ColdFusion uses, and now it won't start!'

Has this happened to you?
  • You wanted to update the JVM which CF uses to use a new version
  • so you found some resource on the web showing how to update, and it seemed simple enough
  • and then you tried restarting CF and wham, it won't start
  • and now you're stuck wondering, "what happened? and how am I supposed to fix this?"

It's a tragic position to be in, of course.

There are several reasons why your attempt to update CF's JVM can fail.

And fortunately I can offer several things you can consider/look at, some of which may quickly recover from or be able to undo (depends on what you did). And all this applies to Lucee, Railo, and BlueDragon as well, though folder locations will differ.

In brief, here are the things you may have done wrong. See below for solutions or recommendations:

  1. You may have told the Java installer to install itself WITHIN the CF directory. You should not do that.
  2. You may have gotten the wrong kind of Java installer
  3. You may have gotten the wrong bit-level of Java for your bit-level of CF
  4. You may have gotten the wrong JVM for your OS
  5. You may have tried to use a JVM not supported by the version of CF you're running
  6. You may have pointed CF to the wrong JVM location
  7. You may have updated the JVM config for the cfusion instance, but not your other instances
  8. You may have forgotten to change the path's directory separator slashes on Windows
  9. You may have to copy the msvcr100.dll from the JVM's lib to CF's when updating older CF's to Java 7+
  10. You may have to copy the tools.jar from the JVM's lib to CF's when updating older CF's to Java 8+ (and delete some files compiled for the old JVM)
  11. You may find that Solr integration (and/or PDFG in CF11+) stops working, because you didn't realize you needed to edit *its* jvm config file

While I'm at it, I also cover:

  • Why you'll find that CF can't even STOP (let alone START) if you make a mistake with the JVM configuration
  • What JVM version(s) are supported by what versions of CF
  • Dealing with SSL Certificates you may have imported into a previous JVM
  • Beware leaving the Java installer to choose the "public jre" option

So this really became quite a compendium of resources on changing the JVM CF uses, but again the focus is on why CF may not start if you make certain very common mistakes.

[....Continue Reading....]

My reply to: 'The price for CF troubleshooting consultants is a joke. They're taking us for a ride'

Ok, so that's clearly not my sentiment but rather that of a certain "Simon" (no other identifying info offered) in a blog comment in one of the recent CF team blog entries.

After complaining about how poorly he felt CF had responded to his seeking help, he threw in additionally that "the existing private consultants prices are a total joke - they are taking us for a ride!".

Well, I just couldn't let go his comment go unremarked.

I started to write my reply there, but it grew long (as is my wont). So rather than post there (where most comments are brief), I decided to post it here instead and point to it there. Perhaps some of my readers here may appreciate it as well, as I also talk about some thoughts on CF troubleshooting in general.

[....Continue Reading....]

My New Youtube Video on the Why and How of Using FR Stack Traces for ColdFusion Troubleshooting

As many of my readers know, I'm a big fan of the FusionReactor server monitor for ColdFusion (and Railo, BlueDragon, Tomcat, and indeed any Java server). I help people use it every day (just like I also help people leverage other CF monitors like the CF Enterprise Server Monitor and SeeFusion).

One of the most important features is the stack tracing feature, used to understand what's holding up a long-running request.

[....Continue Reading....]

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.005. (Want to validate the html in this page?)

Managed Hosting Services provided by
Managed Dedicated Hosting