Skip to content
New issue

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

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

Already on GitHub? # to your account

Handle data corruption in history resend #5398

Merged
merged 2 commits into from
Feb 12, 2024

Conversation

yux0
Copy link
Contributor

@yux0 yux0 commented Feb 7, 2024

What changed?

Handle data corruption in history resend.

Why?

  1. When source cluster has a data corruption issue, it can ship partial data in resend history. With the two layers of resending (this is to handle resend across different workflow runs), this will cause a chain reaction.

How did you test it?

Unit tests

Potential risks

Is hotfix candidate?

@yux0 yux0 requested a review from a team as a code owner February 7, 2024 18:40
tag.NewStringTag("first-resend-error", retryErr.Error()),
tag.NewStringTag("second-resend-error", resendErr.Error()),
)
return false, serviceerror.NewDataLoss("failed to get requested data while resending history")
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@yycptt any concern to use data loss error here?

@yux0 yux0 merged commit 42fd226 into temporalio:main Feb 12, 2024
58 checks passed
yycptt pushed a commit that referenced this pull request Apr 27, 2024
Handle data corruption in history resend.

1. When source cluster has a data corruption issue, it can ship partial
data in resend history. With the two layers of resending (this is to
handle resend across different workflow runs), this will cause a chain
reaction.

Unit tests

<!-- Assuming the worst case, what can be broken when deploying this
change to production? -->

<!-- Is this PR a hotfix candidate or does it require a notification to
be sent to the broader community? (Yes/No) -->
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants