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

[FLINK-36517][cdc-connect][paimon] use filterAndCommit API for Avoid commit the same datafile duplicate #3639

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

beryllw
Copy link
Contributor

@beryllw beryllw commented Oct 12, 2024

https://issues.apache.org/jira/browse/FLINK-35938 problem still persists.

storeMultiCommitter.commit API may cause the same datafile commit twice when job restart from failure.

@beryllw
Copy link
Contributor Author

beryllw commented Oct 12, 2024

@lvyanquan @leonardBang PTAL

"Commit succeeded for %s with %s committable",
checkpointId, committables.size()));
} catch (Exception e) {
commitRequests.forEach(CommitRequest::retryLater);
Copy link
Contributor Author

@beryllw beryllw Oct 12, 2024

Choose a reason for hiding this comment

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

Is there a specific purpose for retrying later in this context? @lvyanquan

@beryllw
Copy link
Contributor Author

beryllw commented Oct 15, 2024

Could you please assist in reviewing this PR? Thank you. @lvyanquan

@lvyanquan
Copy link
Contributor

lvyanquan commented Oct 15, 2024

I agree that the issue of duplicate commits still exists. Our testing in the case of abnormal failover is relatively lacking, can you try adding corresponding test case for this?

@beryllw
Copy link
Contributor Author

beryllw commented Oct 15, 2024

I agree that the issue of duplicate commits still exists. Our testing in the case of abnormal failover is relatively lacking, can you try adding corresponding test case for this?

I will try, thanks.

// It's possible that flink job will restore from a checkpoint with only step#1 finished and
// step#2 not.
// CommitterOperator will try to re-commit recovered transactions.
committer.commit(commitRequests);
Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks for adding this, what about running insert and commit many times(in a for loop), to simulate more complex situations and situations with compaction?

Copy link
Contributor

Choose a reason for hiding this comment

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

Considering there is another issue https://issues.apache.org/jira/browse/FLINK-36541 in PaimonWriter, If there is a problem with adding this loop, you can skip it for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants