Disabling node monitors for single use computer

69 views
Skip to first unread message

Surya Gaddipati

unread,
Nov 15, 2016, 8:36:58 PM11/15/16
to Jenkins Developers
Hi, 

I am running into an issue which I think is related to my single use computer plugin ( https://github.com/suryagaddipati/jenkins-docker-swarm-plugin), which basically creates one computer/build and deletes it after its done. 

This is resulting in accumulation of thousands of node monitor threads in BLOCKED state. I suspect these threads don't go away once the computer goes away. 

I was curious if there is a way to either disable these monitors entirely Jenkins wide or disable them for computer type perhaps a method 'needsMonitoring()' on Computer. 

eg: 

"Monitoring thread for Response Time started on Mon Nov 14 20:55:26 UTC 2016" #43777 daemon prio=5 os_prio=0 tid=0x00002aab5f376800 nid=0x1f4b waiting for monitor entry [0x00002aabd4e3b000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at hudson.remoting.Channel.send(Channel.java:577)
	- waiting to lock <0x0000000548779748> (a hudson.remoting.Channel)
	at hudson.remoting.Request.callAsync(Request.java:205)
	at hudson.remoting.Channel.callAsync(Channel.java:823)
	at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitor(AbstractAsyncNodeMonitorDescriptor.java:75)
	at hudson.node_monitors.ResponseTimeMonitor$1.monitor(ResponseTimeMonitor.java:57)
	at hudson.node_monitors.AbstractNodeMonitorDescriptor$Record.run(AbstractNodeMonitorDescriptor.java:305)



Kanstantsin Shautsou

unread,
Nov 16, 2016, 10:19:41 AM11/16/16
to Jenkins Developers
Monitoring API is fully async and uncontrollable. I think you are free to contribute any related changed to core via PR where you will get stephenc review.
Reply all
Reply to author
Forward
0 new messages