Prevent Jenkins hang with unresponsive web servers#7
Conversation
the entire checking process.
Added call to future.cancel to try to stop the thread that's waiting for output; however, IT DOES NOT cancel the read. The result is that, for a badly-behaved server, each poll consumes one thread, making it uncancellable. Not acceptable.
|
Jenkins » sitemonitor-plugin #14 FAILURE |
|
Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests |
|
Jenkins » sitemonitor-plugin #15 FAILURE |
Conflicts: pom.xml src/main/java/hudson/plugins/sitemonitor/SiteMonitorRecorder.java
|
Jenkins » sitemonitor-plugin #16 SUCCESS |
|
What is the status of this pull request? I'm running into a situation that would seem will be fixed by this. If there is something wrong with the pull request I'll be more than happy to fix it. [JENKINS-13358] appears to be an existing issue that would relate to this pull request. |
|
Update: I ran into an issue with this pull request. After running the project one time, I would get an error attempting to save the project configuration after changing a setting. Restarting Jenkins seemed to work around the error but I believe there is some sort of a serialization incompatibility with this change. I also found that patching the existing master branch with just the change to call connection.setReadTimeout also fixes the issue without restoring to using async validation of the URL. |
Existing code can stall the build if it encounters an unresponsive web server (one that allows a connection, but stalls rather than producing a response). We've had to restart Jenkins to clear the stalled builds.
This proposed change does a couple of things to prevent this problem: