Title:
Option Save class files causes CF to break applications if templates are modified.
| View in TrackerStatus/Resolution/Reason: Closed/Withdrawn/CannotReproduce
Reporter/Name(from Bugbase): Nando Breiter / Nando Breiter (Nando Breiter)
Created: 01/08/2015
Components: Administrator
Versions: 11.0
Failure Type:
Found In Build/Fixed In Build: CF11_Final /
Priority/Frequency: Major / All users will encounter
Locale/System: ALL / Linux
Vote Count: 1
Problem Description: When "Save class files" is enabled, updating templates can cause CF to throw a template not found error, breaking the [production] application, and leaving the developer no clue as to what the underlying cause is in the error mesaage. To my experience, it seems to be enabled by default on install, at least on CF11 (unless the Developer Edition is selected at install) . In addition, the text next to the checkbox gives the developer no clue at all what the consequences of enabling the feature actually are. In only says:
"When you select this option, the class files generated by ColdFusion are saved to disk for reuse after the server restarts. Adobe recommends this for production systems. During development, Adobe recommends that you do not select this option."
The fact that class files are saved to disk does not equate to CF not being able to find templates.
In my opinion, either this functionality should be improved so that it does not potentially break applications, or it should be removed. The risk that it will take a production application down for hours or perhaps days until a developer figures out why this occurred must be weighed against the slight performance increase when restarting CF that this option apparently provides.
And, unless and until the underlying functionality is fixed, this option should not be enabled by default if it has the potential to take down applications, and the message next to it should warn developers of the risk.
Steps to Reproduce:
Enable Save class files and modify templates until CF throws a template or component not found error.
Expected Result:
I expect options for production systems to make CF more performant, stable or secure. Options that potentially take production applications down with no warning or apparent reason are neither expected nor welcome. As it stands, every time I need to make a minor change to a production server I have to remember to uncheck it, reboot the server, make my change, check it again, and perhaps reboot the server again. How does that improve the experience of my users?
In the real world, production applications always require bug fixes and updates. It is therefore a very common use case, and we should expect CF to accommodate it without developers needing to know or follow obscure admin procedures to prevent their apps from failing for no apparent reason.
Any Workarounds:
----------------------------- Additional Watson Details -----------------------------
Watson Bug ID: 3917793
External Customer Info:
External Company:
External Customer Name: Nando Breiter
External Customer Email:
External Test Config: My Hardware and Environment details:
Attachments:
- January 10, 2015 00:00:00: 1_settingsSummary.txt
Comments: