If you use ColdFusion Builder and if you use tailview, this post is for you! Tail View is a great functionality in ColdFusion builder that allows you to tail the contents of any log file in real time. It is a great productivity feature that saves you from opening the log file and continuously reloading it.
TailView in ColdFusion Builder keeps watching the file for any modification and if there is any, it updates the view with the latest content. That causes a race condition between the tail view process which is trying to read the file and the server process that is writing to the same file. Generally, in such race conditions, the preference is almost always given to the reader. If there is any read operation (and there can be multiple simultaneous reads) in progress, write operation waits.
Somehow this race condition is not very much visible when the server is running from console. However, when the server is running as a service, this race condition becomes so severe that the server becomes almost unresponsive. The jrunsvc.exe process just hogs up all the CPU cycles and the server becomes nearly dead.
A simple way to fix this is to increase the period at which the tail view checks for a change in the file content. Thankfully ColdFusionBuilder provides a preference to do that.
Go to Windows > Preference > HTML >TailView and change the value of “Read Timeout” from 100 to 1000 or any other suitable higher value. This will give enough time to server threads to write contents to the log file.