Title:
Superfluous Performance Monitoring Toolset (PMT) settings in ColdFusion when PMT not installed
| View in TrackerProblem Description:
Consider the situation where you install ColdFusion 2018 for use with a web server, say, IIS. You decide not to install the Performance Monitoring Toolset (PMT).
The result is that your ColdFusion installation will still contain PMT's settings. For example, the Heartbeat settings.
This is poor design and goes against general software best-practice. That is because it increases coupling, introducing the possibility of avoidable faults, reduces cohesion, and goes against common-sense heuristics such as YAGNI ("You ain't gonna need it").
Steps to Reproduce:
1) Install ColdFusion 2018, configuring it for use with a web server, in this case, IIS.
2) When installation and configuration are complete, navigate to {CF2018_DIRECTORY}\config\wsconfig\N, where N is the so called magic number (1, 2, 3, ...) corresponding to a ColdFusion instance.
3) Open in a text editor the file worker.properties and examine its contents.
Actual Result:
The file worker.properties has contents similar to
worker.list=myCFInstance1
heartbeat_interval=30
heartbeat_limit=90
worker.myCFInstance1.type=ajp13
worker.myCFInstance1.host=localhost
worker.myCFInstance1.port=8018
worker.myCFInstance1.connection_pool_size=500
worker.myCFInstance1.connection_pool_timeout=60
worker.myCFInstance1.max_reuse_connections=250
worker.myCFInstance1.monitoringsecret=d426ee8d-33fa-4eb6-ab5e-125a70d83c14
As you can see, the Heartbeat settings stand out like a sore thumb. That is because they pertain directly to PMT, not to the ColdFusion instance. See for example
https://helpx.adobe.com/nl/coldfusion/using/whats-new.html
https://helpx.adobe.com/coldfusion/performance-monitoring-toolset/deployment-guide.html
One of these references reads,
"You can set the Heartbeat interval option in the section Performance Toolset Monitoring properties section, while configuring the web server connector with ColdFusion. The setting determines the frequency at which the connector metrics are posted to ElasticSearch".
As you had chosen at the beginning not to install PMT, the ColdFusion instance should have nothing to do with this ElasticSearch requirement. There should therefore be no monitoring settings here. Including them here increases coupling between instance and PMT settings, thereby increasing the surface area for errors. Errors that are avoidable, to start with.
Might this setting have something to do with the recent spate of connector-related bugs reported for ColdFusion 2018?
Result:
No PMT settings in worker.properties when you choose not to install or use PMT.
Any Workarounds:
Not relevant
Attachments:
Comments: