-
Bug
-
Resolution: Unresolved
-
Major
-
None
If one enters a wrong port number into global tool configuration the builds will get stuck for a long time in the post-build step (if enabled).
This happened to us a few times both with the syslog and logstash backends.
The only way we were able to kill the job stuck in the logstash post-build step was by restarting Jenkins.
What is even worse: it seems other builds (in different projects, but also with logstash configured) wouldn't start because of the one build that was stuck.
I think the "unable to abort" problem is caused by the underlying IO operations not supporting interrupts.
- Apache HC supports aborting the connection in 4.x, although IDK if it's enabled for default clients created with HttpClientBuilder.create()
- I'm not sure now how java.net.DatagramSocket (used via UdpSyslogMessageSender) behaves re. interrupts right now
I'm confused about the global contention point though. I can't find anything obvious in plugin code that would explain this, so I expect it's some interaction with the plugin code and how jenkins handles post-build steps and global tools?
EDIT: I realized the jobs were just hanging on the socket IO independently of each other, there is no global contention point