temporalio / temporalio/temporal-worker-controller

Revive retained zero-replica Deployments when a drained version becomes draining again

Open
#332 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
187
Forks
70
Avg merge
4d 1h
Merged PRs (30d)
31

Description

Worker Controller can scale a drained version’s Kubernetes Deployment to 0 after scaledownDelay, then delete it later after deleteDelay.

We should verify what happens if, during that retention window, the version becomes Draining again because someone moves workflows onto it with a Versioning Override.

Expected behaviour: while the Deployment still exists, the controller should be able to scale it back up so workers can poll for that version again and resume/complete work. There is some existing logic that may already handle this for rollback/target-version cases, but we should add a regression test to confirm the drained-to-zero Deployment can be revived before deleteDelay expires. If the test fails, we may need a small adjustment to the scaling logic.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the existing scaling logic for rollback and target-version cases, then trace how a retained Deployment moves from zero replicas back to Draining. Add a regression test covering a drained-to-zero Deployment becoming Draining again before deleteDelay expires; done means the Deployment scales up so workers can resume or complete work.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.