-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
use of -purge leads to leak of goroutines #19988
Labels
hcc/cst
Admin - internal
stage/accepted
Confirmed, and intend to work on. No timeline committment though.
theme/deployments
type/bug
Milestone
Comments
jrasell
added
the
stage/accepted
Confirmed, and intend to work on. No timeline committment though.
label
Feb 16, 2024
tgross
added a commit
that referenced
this issue
Apr 10, 2024
The deployment watcher on the leader makes blocking queries to detect when the set of active deployments changes. It takes the resulting list of deployments and adds or removes watchers based on whether the deployment is active. But when a job is purged, the deployment will be deleted. This unblocks the query but the query result only shows the remaining deployments. When the query unblocks, ensure that all active watchers have a corresponding deployment in state. If not, remove the watcher so that the goroutine stops. Fixes: #19988
tgross
added a commit
that referenced
this issue
Apr 10, 2024
The deployment watcher on the leader makes blocking queries to detect when the set of active deployments changes. It takes the resulting list of deployments and adds or removes watchers based on whether the deployment is active. But when a job is purged, the deployment will be deleted. This unblocks the query but the query result only shows the remaining deployments. When the query unblocks, ensure that all active watchers have a corresponding deployment in state. If not, remove the watcher so that the goroutine stops. Fixes: #19988
tgross
added a commit
that referenced
this issue
Apr 11, 2024
The deployment watcher on the leader makes blocking queries to detect when the set of active deployments changes. It takes the resulting list of deployments and adds or removes watchers based on whether the deployment is active. But when a job is purged, the deployment will be deleted. This unblocks the query but the query result only shows the remaining deployments. When the query unblocks, ensure that all active watchers have a corresponding deployment in state. If not, remove the watcher so that the goroutine stops. Fixes: #19988
This was referenced Apr 11, 2024
Merged
Merged
tgross
added a commit
that referenced
this issue
Apr 11, 2024
The deployment watcher on the leader makes blocking queries to detect when the set of active deployments changes. It takes the resulting list of deployments and adds or removes watchers based on whether the deployment is active. But when a job is purged, the deployment will be deleted. This unblocks the query but the query result only shows the remaining deployments. When the query unblocks, ensure that all active watchers have a corresponding deployment in state. If not, remove the watcher so that the goroutine stops. Fixes: #19988
tgross
added a commit
that referenced
this issue
Apr 11, 2024
…#20348) (#20359) The deployment watcher on the leader makes blocking queries to detect when the set of active deployments changes. It takes the resulting list of deployments and adds or removes watchers based on whether the deployment is active. But when a job is purged, the deployment will be deleted. This unblocks the query but the query result only shows the remaining deployments. When the query unblocks, ensure that all active watchers have a corresponding deployment in state. If not, remove the watcher so that the goroutine stops. Fixes: #19988 Co-authored-by: Tim Gross <[email protected]>
philrenaud
pushed a commit
that referenced
this issue
Apr 18, 2024
The deployment watcher on the leader makes blocking queries to detect when the set of active deployments changes. It takes the resulting list of deployments and adds or removes watchers based on whether the deployment is active. But when a job is purged, the deployment will be deleted. This unblocks the query but the query result only shows the remaining deployments. When the query unblocks, ensure that all active watchers have a corresponding deployment in state. If not, remove the watcher so that the goroutine stops. Fixes: #19988
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
hcc/cst
Admin - internal
stage/accepted
Confirmed, and intend to work on. No timeline committment though.
theme/deployments
type/bug
When stopping a job with the
-purge
flag, a Nomad client may leak goroutines. This becomes readily apparent when rapidly starting and stopping a job as described below. There are two goroutines that show up in large quantity in a dump after applying the reproduction steps, both associated with deployment watcher. If the-purge
flag is not set, no leak is observed.Script to run and stop a job, causing the Nomad client leak goroutines.
simple "sleep" service job
The text was updated successfully, but these errors were encountered: