CF8 Upgrade Gotchas
Since upgrading to ColdFusion 8 last week on my staging server at work, I've come across a few gotchas that I wanted to put down on record for future reference...
CFFTP
First, I came across two separate issues regarding CFFTP: One particular process which transfers files to our production server kept throwing the java.lang.NullPointerException error before successfully completing.
I found from this post in the Adobe support forums that others encountered a similar issue. Going through the code, I found were the opening connection defined a timeout value of 30, while the put operation had the timeout value as 600. I adjusted the timeout for the opening connection to 600 as well and was then able to execute the code without an error.
The second CFFTP error had to do with a different process which didn't use a pre-existing connection. So, this was also a put operation that supplied the server, username, and password and therefore did not have the connection attribute defined. I was stuck on this for quite a while, but eventually tried to supply an arbitrary connection name and that worked.
Scheduled Tasks
Another issue I came across was regarding Scheduled Tasks. I noticed that while it looked like a task would execute properly from CF Admin and no error was generated, that the tasks never exactly ran.
After troubleshooting this for a while, I decided to try and re-enter some of the form field data... The issue turned out to be the Password value. While it appeared all the configuration data had remained intact when the upgrade occurred, it seems that the Password field value didn't transfer properly, so the task was never properly authenticated with the server to run.
Component function whitespace
The last issue I found was regarding white space output from a function in a CFC. While output=false was set at the CFC-level, the function definition itself did not have an explicit value for output... this resulted in added whitespace in the display where the function was being called. Not just in the source of the generated mark-up, but in the actual display... now, this could be because the function call originated from within a cfoutput tag, but this was not the behavior prior to the upgrade.
Overall, I am very happy with the added features and performance benefits from this upgrade... I will definitely be taking advantage of many of the great new features. I am also currently working on the plan to upgrade our production environment.