-
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
[JENKINS-42945] Unable to abort a job while post-build notifier is running
Description |
Original:
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? |
New:
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 |
Priority | Original: Blocker [ 1 ] | New: Major [ 3 ] |