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

[Improve](sink) add options to commit tolerance #325

Closed
wants to merge 4 commits into from

Conversation

JNSimba
Copy link
Member

@JNSimba JNSimba commented Mar 1, 2024

Proposed changes

Normally, in 2pc, commit cannot fail, otherwise it will cause data loss.
But sometimes, when resuming a task from checkpoint, the txnid recorded in the checkpoint may have expired. At this time, an error txn not found will be reported, including some other unexpected errors.
At this time, the offset of the source saved by ckpt cannot be used. If the txn is submitted successfully, the first commit failure can be tolerated.

Therefore, the parameter sink.commit-tolerance is added. It supports three configurations: NEVER, ONCE, and ALWAYS. The default is NEVER.
NEVER means never ignore Commit errors.
ONCE means ignore it only once, usually on first startup. At this time, you need to ensure that txn is successful, otherwise data may be lost.
ALWAYS means it has been ignored.

Checklist(Required)

  1. Does it affect the original behavior: (Yes/No/I Don't know)
  2. Has unit tests been added: (Yes/No/No Need)
  3. Has document been added or modified: (Yes/No/No Need)
  4. Does it need to update dependencies: (Yes/No)
  5. Are there any changes that cannot be rolled back: (Yes/No)

Further comments

If this is a relatively large or complex change, kick off the discussion at [email protected] by explaining why you chose the solution you did and what alternatives you considered, etc...

@JNSimba JNSimba marked this pull request as draft March 1, 2024 14:04
@JNSimba JNSimba closed this Mar 4, 2024
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.

1 participant