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

Bugfix/picking changes to allow for failover polling #6523

Conversation

davidporter-id-au
Copy link
Member

@davidporter-id-au davidporter-id-au commented Nov 25, 2024

What changed?

With thanks to my colleague @Shaddoll for noticing, this ports across a Temporal fix temporalio/temporal#4943 to the cadence server repo.

The problem is that for sync workflows, or workflows using the Execute API in go, the branch token itself is not sufficiently good enough information about the state of history polling. It can change, such as during a failover. This wraps that change in version-history so that it's able to handle this more gracefully.

Why?
To fix a problem for customers during failover

How did you test it?

  • Unit tests
  • Local tests
  • Integration tests and staging deployment testing

Potential risks
This is a fairly high risk change in that it could break mutable state polling and there's quite a few pathways in which panics can occur if the version history isn't passed along, so this will need to be merged cautiously.

Release notes

Documentation Changes

Copy link
Member

@Shaddoll Shaddoll left a comment

Choose a reason for hiding this comment

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

Did you change the IDL?

@davidporter-id-au davidporter-id-au merged commit f799577 into cadence-workflow:master Nov 26, 2024
17 checks passed
@davidporter-id-au davidporter-id-au deleted the bugfix/picking-changes-to-allow-for-failover-polling branch November 26, 2024 23:31
@davidporter-id-au davidporter-id-au mentioned this pull request Nov 29, 2024
2 tasks
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