kubernetes-sigs / kubernetes-sigs/controller-runtime

Support global timeouts for reconcilers

Open
#798 14 comments 0 reactions 0 assignees View on GitHub
help wanted kind/design lifecycle/frozen priority/important-soon
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.