kubernetes-sigs / kubernetes-sigs/controller-runtime
Support global timeouts for reconcilers
- Dominant language
- Go
- Stars
- 3k
- Forks
- 1.3k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 14
Description
I ran into an issue today where one of my reconcilers was unexpectedly deadlocking on a particular resource. This appeared to halt on processing of that reconciler for other resources, essentially freezing the system until I restarted the manager binary (where it would eventually freeze again when it got to the bad resource).
It would be nice if I could configure a timeout that would apply to all reconcilers in the manager such that they would automatically abort and back off it they appear to be deadlocked.
Contributor guide
Research direction
Start at the manager binary and the reconciler execution path described in the report; reproduce the freeze with a resource that deadlocks. Determine where a manager-wide timeout can be configured and how abort and backoff should behave across reconcilers. Done means a configured timeout prevents one stuck resource from freezing processing and tests cover timeout and backoff behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- backend, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100