-
Notifications
You must be signed in to change notification settings - Fork 286
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
owner(ticdc): Fix an unexpected stop problem for changefeed backoff #6351
owner(ticdc): Fix an unexpected stop problem for changefeed backoff #6351
Conversation
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
/cc @asddongmen |
Note the affected versions should be updated, since #4262 was picked to all release branches. @zhaoxinyu |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add unit tests. Also make sure when a processor reports an error, owner close its changefeed immediately.
@overvenus We already have a test case tiflow/cdc/owner/feed_state_manager_test.go Lines 267 to 272 in f86dd06
However, 15min is extremely long for a unit test. Do you have any suggestions? |
The problem fixed by this PR is introduced in #6020, which was in a feature branch. In that PR, Maybe I should submit an other standalone PR in 6.1 branch and cherry-pick it back? @amyangfei How do you think? |
What about setting a smaller backoff interval in tests? |
@overvenus , in the unit tests, I think the backoff interval is already small enough. Ref: tiflow/cdc/owner/feed_state_manager.go Lines 78 to 84 in 899d50e
|
Okay, we need a test as mentioned above. |
looks fine |
/lgtm |
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 6a699ae
|
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 1b50c47
|
/run-dm-compatibility-test |
/run-integration-test |
/run-all-tests |
/run-verify |
/run-kafka-integration-test |
/run-integration-test |
@zhaoxinyu: Your PR was out of date, I have automatically updated it for you. At the same time I will also trigger all tests for you: /run-all-tests If the CI test fails, you just re-trigger the test that failed and the bot will merge the PR for you after the CI passes. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository. |
/run-integration-test |
In response to a cherrypick label: cannot checkout |
What problem does this PR solve?
Issue Number: close #6348
What is changed and how it works?
Use 0 as
MaxElapsedTime
value instead of not populating this field. Because ifMaxElapsedTime
is not set,15 min will be used in default. So after 15min, the backoff will stop, which is unexpected.
Ref https://github.com/cenkalti/backoff/blob/6b0e4ad0cd65431b217393bff47d1dff727b264b/exponential.go#L80
Check List
Tests
Questions
Will it cause performance regression or break compatibility?
No
Do you need to update user documentation, design documentation or monitoring documentation?
No
Release note