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

Revert change to default reapply type #5688

Merged
merged 1 commit into from
Apr 9, 2024

Conversation

dandavison
Copy link
Contributor

What changed?

Revert change to default enum value made in #5360

Why?

We cannot deploy a change that both introduces a new value and starts using it as the default, since during rollout it may cause a frontend client on the new version to send a value that is unknown to a history node on the old version.

How did you test it?

I didn't

Potential risks

No risk

Is hotfix candidate?

This change should be cherry-picked onto current release candidates.

@dandavison dandavison requested a review from a team as a code owner April 9, 2024 15:24
@dandavison dandavison merged commit fea1499 into temporalio:main Apr 9, 2024
42 checks passed
dnr pushed a commit that referenced this pull request Apr 9, 2024
## What changed?
Revert change to default enum value made in #5360

## Why?
We cannot deploy a change that both introduces a new value and starts
using it as the default, since during rollout it may cause a frontend
client on the new version to send a value that is unknown to a history
node on the old version.

## How did you test it?
I didn't

## Potential risks
No risk

## Is hotfix candidate?
This change should be cherry-picked onto current release candidates.
dandavison added a commit that referenced this pull request May 17, 2024
dandavison added a commit that referenced this pull request Sep 25, 2024
dandavison added a commit that referenced this pull request Sep 25, 2024
## What changed?
Change default `ResetReapply` enum value to `ALL_ELIGIBLE`.

## Why?
Reverts #5688, i.e. after this PR we will have the
behavior described in #5360.
This means both signals *and* updates will be reapplied by default
during resets and coinflict resolution, which is the product behavior we
want.

### Explanation
- #5360 attempted to introduce a new proto enum value and start using it
as the default
- However, that is not a valid single-deploy change, since it can cause
a frontend client on the new version to send a value that is unknown to
a history node on the old version.
- Therefore #5688 reverted the change to the default, allowing the new
proto enum value to be introduced to the codebase
- This PR is deployable iff all clusters that we deploy to have #5360
deployed


## How did you test it?
I didn't. Tests were added in the original PR
#5360.

## Potential risks
Could break reset or history conflict resolution.

## Is hotfix candidate?
1.25.1
jmbarzee pushed a commit that referenced this pull request Sep 27, 2024
Change default `ResetReapply` enum value to `ALL_ELIGIBLE`.

Reverts #5688, i.e. after this PR we will have the
behavior described in #5360.
This means both signals *and* updates will be reapplied by default
during resets and coinflict resolution, which is the product behavior we
want.

- #5360 attempted to introduce a new proto enum value and start using it
as the default
- However, that is not a valid single-deploy change, since it can cause
a frontend client on the new version to send a value that is unknown to
a history node on the old version.
- Therefore #5688 reverted the change to the default, allowing the new
proto enum value to be introduced to the codebase
- This PR is deployable iff all clusters that we deploy to have #5360
deployed

I didn't. Tests were added in the original PR
#5360.

Could break reset or history conflict resolution.

1.25.1
dnr pushed a commit that referenced this pull request Oct 4, 2024
Change default `ResetReapply` enum value to `ALL_ELIGIBLE`.

Reverts #5688, i.e. after this PR we will have the
behavior described in #5360.
This means both signals *and* updates will be reapplied by default
during resets and coinflict resolution, which is the product behavior we
want.

- #5360 attempted to introduce a new proto enum value and start using it
as the default
- However, that is not a valid single-deploy change, since it can cause
a frontend client on the new version to send a value that is unknown to
a history node on the old version.
- Therefore #5688 reverted the change to the default, allowing the new
proto enum value to be introduced to the codebase
- This PR is deployable iff all clusters that we deploy to have #5360
deployed

I didn't. Tests were added in the original PR
#5360.

Could break reset or history conflict resolution.

1.25.1
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