November 6, 2019
How to implement a special hotfix that Adobe may give you
Comments
(0)
November 6, 2019
How to implement a special hotfix that Adobe may give you
ColdFusion troubleshooter
Wizard 87 posts
Followers: 70 people
(0)

If you may ever be given a special ColdFusion hotfix file from Adobe (one to be applied separately from the normal update mechanism, such as a file with a name like hf-something.jar), then the approach to apply it is very different than normal CF updates, and it’s important that you are careful in how you apply that hotfix file. The “fix” may be for solving a problem with a recent CF update, or it may be a fix to a problem that won’t be rolled out to everyone until the next CF update.

Thankfully the need is pretty rare. But if you make either of a couple of mistakes, you could either fail to “resolve the problem” that the hotfix was expected to, or worse, you could introduce new “inexplicable” errors that could confuse yourself, Adobe, and others (for weeks or months to come), as they try to help you–when the problem may simply be that you’ve made one of these mistakes that no one would reasonably expect.

In this post I share more about this matter and process, including simply how to confirm if the “special hotfix” really was applied. 

Background/context

As background, an example is from back in Sept 2019, where some people who applied the updates for CF 2016 and 2018 then may have experienced a bug (if using certain CFML code). Many had no problems with the update, but those who did report it to Adobe and in the bug report for it, Adobe had within days had offered just such a “hotfix”, to be applied on top of the update. It was a jar file that Adobe shared then, with instructions for how to implement it.

Even with those instructions, though, if you read the bug report and its comments and/or votes you would have seen people indicating they “still had the problem”, while others indicated they realized they’d made a mistake in applying the fix to the update. It could happen easily., and even with still other “hotfixes” offered separately from one of the traditional CF’s updates.

What you should and should not do with the hotfix files

So if you are given some hf*.jar file from Adobe, which is to “fix” a problem (with a given CF update you have already applied, or before it may be rolled into a future update), note these three important points:

  1. You will be told to copy the new hf jar file into the lib/updates folder of your cfusion directory under cf (so, for instance, /coldfusion2018/cfusion/lib/updates). Then you should of course restart cf, for the “fix” file to take effect. For some, it really is that easy.
  2. But please note this VERY important point: you SHOULD NOT remove any chf jar file that you find in that folder already unless perhaps Adobe tells you to do so.
    • That chf jar file already there is the one that the cf update which you installed previously had put there itself–and the special hf jar Adobe may give you extends/”fixes” that. But the hf jar file does not REPLACE the chf jar file! It would be a major mistake if you deleted the chf jar while putting the hf jar in that folder. Don’t do that!
    • And if you WERE to make that mistake (perhaps unknowingly), not only might the “fix not work”, but you may introduce totally new errors in CF that would seem “inexplicable”, and would challenge those who try to help you (on this portal, on the forums, and even Adobe or troubleshooters like myself), who might never connect the dots that your “odd problem” that “no one has ever seen before” is actually caused by this one mistake.
    • (Related to this, note also that the NEXT CF update you apply [in the traditional manner] will itself automatically remove any jars found in the folder, thus cleaning up after this fix.)
  3. And finally. for those who are running CF Enterprise (or the trial or Developer editions), you may know that you can create new instances of CF (using the Instance Manager page of the CF Admin of the cfusion instance). Well, if you HAVE created a new instance, then it’s also imperative that you put the new hotfix file (the hf jar you were given) into the lib/updates folder of that/those new instance(s) also
    • Look for any sibling folder to the cfusion folder, which would have the name of any additional instance you created You will find sibling folders with the names of config, jre, and uninstall. Those are NOT new instance folders.
    • A new instance folder would have all the folders that the cfusion one does, such as bin, cfx, Custom Tags, logs, Mail, etc. And it will also have a lib/updates folder. And while the regular CF updater process does ask if you want to update instances, the point here is that if you manually apply a “fix file” of the sort discussed here, then YOU have to take this extra step yourself.
    • If you do not take this step, then you may run your code against that instance and assert that “the fix to the update bug didn’t take”. And again, some trying to help you might never realize that this was the real cause for it “not working” for you.Finally, you do also have to restart that instance once you put the new fix file in place.

How can you confirm that the update HAS “been applied”?

Sadly, there’s no 100% reliable way to confirm that “the fix take effect”, other than to test to see if the reported problem went away.

But there’s a way that will suffice for most people. Some may know that the CF Admin pages for the “settings summary” (last option under “Settings”) and “system information” (via the “i” icon in the top right corner of the Admin) have long offered an “update level” field. And they still do.

After you apply one (or more) of these special updates, you should see an “update level” field on that page, naming the hf jar (it should not ever name the chf jar that is already there, from the last “real” CF update–and if there is no “special hotfix”, there won’t even be an “update level” mentioned on the pages.)

There’s one gotcha: as I complained about back in the CF9 era and before, that “update level” line only ever shows the name of any ONE special hotfix file that may be in the lib/updates folder (for that instance), even if there may be two or more. It does not list ALL of them. That leads to the next point.

 

Again, these are akin to problems that we dealt with in CF9 and we’ve been blessed since 2012 (cf10) to have this more automated cf update process. But when on rare occasions where some “special hotfix” is needed, whether due to a bug in the update like that Sept 2019 one or as a new fix not yet in any update, and such special fixes are needed, then people need to heed these important points to apply such “update fixes” correctly.

Kind of like being reminded how to perform certain tasks that “old-timers” used to do, when modern implements somehow fail us, you know, things we did until the “turn of the century”, like fix a car, write a check, read a map, do math, cook without a microwave, etc. 🙂

0 Comments
Add Comment