kubernetes-sigs / sig-storage-lib-external-provisioner

Apache License 2.0
548 stars 174 forks source link

Controller is unresponsive to context cancellation passed to Run(ctx context.Context) #155

Closed MatthiasWerning closed 9 months ago

MatthiasWerning commented 1 year ago

It seems to me that the provisioning controller does not react to any context cancellation that was passed down the chain from the calling application / library.

This is probably due to the select {} statement in line 862 of controller/controller.go. Thus the claimQueue and volumeQueue will effectively never be shutdown since the local run(ctx context.Context) function never returns (with exception to an unsuccessful cache sync await).

Would be great if this could be fixed in v8 as well. This probably just requires the select {} to be replaced by <-ctx.Done() as far as I tried it using my own provisioning controller.

jsafrane commented 1 year ago

@MatthiasWerning do you mind sending a pull request? Master first, but we can fix release-8.0 too.

k8s-triage-robot commented 10 months ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

MatthiasWerning commented 9 months ago

Closed in favor of #159