tracker issue : CF-4205636

select a category, or use search below
(searches all categories and all time range)
Title:

Superfluous Performance Monitoring Toolset (PMT) settings in ColdFusion when PMT not installed

| View in Tracker

Status/Resolution/Reason: Needs Review//

Reporter/Name(from Bugbase): A. B. / ()

Created: 10/27/2019

Components: PMT, Settings

Versions: 2018

Failure Type:

Found In Build/Fixed In Build: 2018.0.05.315699 /

Priority/Frequency: Normal /

Locale/System: / Win All

Vote Count: 0

Problem 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:

In place of: "Result: No PMT settings in worker.properties when you choose not to install or use PMT." please read "Expected Result: No PMT settings in worker.properties when you choose not to install or use PMT."
Comment by A. B.
31706 | October 27, 2019 02:59:18 PM GMT
In place of " worker.properties", please read " workers.properties"
Comment by A. B.
31707 | October 28, 2019 10:19:19 AM GMT