Log thread dump when health check exceeds 10s#11266
Merged
timja merged 1 commit intojenkinsci:masterfrom Nov 10, 2025
Merged
Conversation
jglick
approved these changes
Nov 4, 2025
NotMyFault
approved these changes
Nov 5, 2025
MarkEWaite
approved these changes
Nov 8, 2025
Contributor
MarkEWaite
left a comment
There was a problem hiding this comment.
This PR is now ready for merge. We will merge it after approximately 24 hours if there is no negative feedback.
/label ready-for-merge
Contributor
@gbhat618 could you add documentation to the Jenkins system properties documentation page for this new property? |
Contributor
Author
ok, good to know about it. Trying in jenkins-infra/jenkins.io#8537 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A stuck
/healthrequests causes Kubernetes liveness probes to fail, leading to pod deletion before the root cause can be diagnosed. PR proposes to log a thread dump if the health check exceeds a 10s default timeout, providing crucial diagnostic information.The timeout can be configured via the system property:
-Djenkins.health.HealthCheckAction.thresholdTimeout=PT30S(example for 30 seconds)Testing done
Tested by patching
HealthCheckActionwithTimeUnit.SECONDS.sleep(xx);example,example patching 11s
Testing by
java -jar war/target/jenkins.warthencurl -vvv -L http://localhost:8080/health-Djenkins.health.HealthCheckAction.thresholdTimeout=PT30S-Djenkins.health.HealthCheckAction.thresholdTimeout=PT30S- thread dump printed,Proposed changelog entries
/healthcheck exceeds the 10 second default timeout to help diagnose stuck requests. This timeout is configurable via thejenkins.health.HealthCheckAction.thresholdTimeoutsystem property.Proposed changelog category
/label rfe
Proposed upgrade guidelines
N/A
Submitter checklist
@Restrictedor have@since TODOJavadocs, as appropriate.@Deprecated(since = "TODO")or@Deprecated(forRemoval = true, since = "TODO"), if applicable.evalto ease future introduction of Content Security Policy (CSP) directives (see documentation).Desired reviewers
@jglick , @Vlatombe
Before the changes are marked as
ready-for-merge:Maintainer checklist
upgrade-guide-neededlabel is set and there is a Proposed upgrade guidelines section in the pull request title (see example).lts-candidateto be considered (see query).