Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update SetWorkerDeploymentCurrentVersionRequest to have ignore_missing_task_queues #541

Merged
merged 2 commits into from
Jan 31, 2025

Conversation

Shivs11
Copy link
Member

@Shivs11 Shivs11 commented Jan 31, 2025

READ BEFORE MERGING: All PRs require approval by both Server AND SDK teams before merging! This is why the number of required approvals is "2" and not "1"--two reviewers from the same team is NOT sufficient. If your PR is not approved by someone in BOTH teams, it may be summarily reverted.

What changed?

  • Adding new flag inside SetWorkerDeploymentCurrentVersionRequest for poller verification

Why?

Breaking changes

Server PR

@Shivs11 Shivs11 requested review from a team as code owners January 31, 2025 03:33
Comment on lines 2019 to 2030
// Optional. By default, false. If true, this operation will succeed even if the new version does not have
// all the task-queues which were present in the previously set current version. If set to false,
// any of the following conditions should hold true before the new version is set as current:
//
// - The new version must have all the task-queues which were present in the previously set current version.
//
// - If there are any missing task queues from this new version, all of them should have a current deployment version set. In other
// words, these task queues should not be unversioned. (TaskQueueVersioningInfo.current_version should not be empty &&
// TaskQueueVersioningInfo.current_version.build_id != "__unversioned__")
//
// - If there are any missing task queues from this new version, all of them should have an add_rate of 0 since
// this would signify that there are no backlogged tasks being added in these queues. (see TaskQueueStats.tasks_add_rate)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// Optional. By default, false. If true, this operation will succeed even if the new version does not have
// all the task-queues which were present in the previously set current version. If set to false,
// any of the following conditions should hold true before the new version is set as current:
//
// - The new version must have all the task-queues which were present in the previously set current version.
//
// - If there are any missing task queues from this new version, all of them should have a current deployment version set. In other
// words, these task queues should not be unversioned. (TaskQueueVersioningInfo.current_version should not be empty &&
// TaskQueueVersioningInfo.current_version.build_id != "__unversioned__")
//
// - If there are any missing task queues from this new version, all of them should have an add_rate of 0 since
// this would signify that there are no backlogged tasks being added in these queues. (see TaskQueueStats.tasks_add_rate)
// Optional. By default this protects against accidentally removing a task queue from the current deployment version.
// If false, one of the following conditions must hold true for the new version to be set as current:
// - The new current version must have all the task-queues that are present in the existing current version.
// or
// - If the new current version is missing task queues that are present in the existing current version,
// each missing task queue should have either:
// - A current deployment version set, signifying that the task queue has been added to another deployment.
// or
// - An add_rate of 0, signifying that there are no backlogged tasks being added in these queues. (see TaskQueueStats.tasks_add_rate)
// If true, this operation will succeed even if the new current version does not have all the task-queues that were
// present in the existing current version.

What do you think of this structure?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I quite like this - thanks for proposing!

@Shivs11 Shivs11 merged commit 441c041 into versioning-3.1 Jan 31, 2025
3 checks passed
@Shivs11 Shivs11 deleted the ss/update-set-current branch January 31, 2025 16:06
@Shivs11 Shivs11 mentioned this pull request Jan 31, 2025
Shivs11 added a commit that referenced this pull request Jan 31, 2025
_**READ BEFORE MERGING:** All PRs require approval by both Server AND
SDK teams before merging! This is why the number of required approvals
is "2" and not "1"--two reviewers from the same team is NOT sufficient.
If your PR is not approved by someone in BOTH teams, it may be summarily
reverted._

<!-- Describe what has changed in this PR -->
**What changed?**
- Similar to #541 in that this
flag should also be added to the ramping request


<!-- Tell your future self why have you made these changes -->
**Why?**


<!-- Are there any breaking changes on binary or code level? -->
**Breaking changes**


<!-- If this breaks the Server, please provide the Server PR to merge
right after this PR was merged. -->
**Server PR**
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