Skip to content

Check versioned and unversioned pollers in certain cases#132

Merged
carlydf merged 15 commits intomainfrom
cdf/track-pollers
Sep 4, 2025
Merged

Check versioned and unversioned pollers in certain cases#132
carlydf merged 15 commits intomainfrom
cdf/track-pollers

Conversation

@carlydf
Copy link
Copy Markdown
Collaborator

@carlydf carlydf commented Aug 29, 2025

What was changed

  1. Check unversioned pollers for the target version if the current version is nil and strategy is progressive
  2. Check versioned pollers for Drained versions if the controller is not running a k8s Deployment for that version

Why?

  1. So that we can still respect Progressive rollout steps if Current Version is nil and we confirm unversioned pollers for all Target Version task queues
  2. So that we can only block rollout of a new version if we have a pathological # of ineligible for delete versions, meaning in most cases, users can rely on the server to delete their old versions.

Checklist

  1. Closes

  2. How was this tested:

  • Unit test for maxVersionsIneligibleForDeletion
  • Integration test where Progressive strategy is respected when unversioned pollers exist
  • Integration test where deployment is at max versions ineligible and controller doesn't roll out new deployment
  • Integration test where deployment has max versions but they are eligible for deletion so controller does roll out new deployment
  1. Any docs updates needed?

@carlydf carlydf marked this pull request as ready for review August 29, 2025 08:01
@carlydf carlydf requested review from a team and jlegrone as code owners August 29, 2025 08:01
Comment thread api/v1alpha1/worker_types.go Outdated
Comment thread api/v1alpha1/worker_types.go Outdated
Comment thread api/v1alpha1/worker_types.go Outdated
Comment thread internal/temporal/worker_deployment.go
Comment thread internal/testhelpers/workers.go
Comment thread internal/controller/genplan.go Outdated
@carlydf carlydf merged commit c4b067a into main Sep 4, 2025
11 checks passed
@carlydf carlydf deleted the cdf/track-pollers branch September 4, 2025 00:09
shashwatsuri pushed a commit to shashwatsuri/temporal-worker-controller that referenced this pull request Apr 28, 2026
)

<!--- Note to EXTERNAL Contributors -->
<!-- Thanks for opening a PR! 
If it is a significant code change, please **make sure there is an open
issue** for this.
We work best with you when we have accepted the idea first before you
code. -->

<!--- For ALL Contributors 👇 -->

## What was changed
1. Check unversioned pollers for the target version if the current
version is nil and strategy is progressive
2. Check versioned pollers for Drained versions if the controller is not
running a k8s Deployment for that version

## Why?
1. So that we can still respect Progressive rollout steps if Current
Version is nil and we confirm unversioned pollers for all Target Version
task queues
2. So that we can only block rollout of a new version if we have a
pathological # of ineligible for delete versions, meaning in most cases,
users can rely on the server to delete their old versions.

## Checklist
<!--- add/delete as needed --->

1. Closes <!-- add issue number here -->

3. How was this tested:
- Unit test for maxVersionsIneligibleForDeletion
- Integration test where Progressive strategy is respected when
unversioned pollers exist
- Integration test where deployment is at max versions ineligible and
controller doesn't roll out new deployment
- Integration test where deployment has max versions but they are
eligible for deletion so controller does roll out new deployment

4. Any docs updates needed?
<!--- update README if applicable
      or point out where to update docs.temporal.io -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants