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

engine: merge dataflow engine into tiflow #5343

Merged
merged 281 commits into from
May 20, 2022

Conversation

amyangfei
Copy link
Contributor

@amyangfei amyangfei commented May 6, 2022

What problem does this PR solve?

Issue Number: ref #5352

What is changed and how it works?

  • add dataflow engine code base as subtree in engine dir
  • add copyright to all dataflow engine go files
  • update import path of dataflow engine
  • update error toml
  • Minor change to github action CI script, Makefile and go mod
    • In go mod, upgrade github.com/prometheus/client_golang from v1.11.0 to v1.12.2

Check List

Tests

  • Unit test
  • Integration test

Release note

None

amyangfei and others added 30 commits December 14, 2021 16:08
* [resource manager]: add separated resouce manager interface

* fix merge conflicts

* address comments

* fix data race
* client: decouple clients out of executor managers
* refine pkg
* add tests
* address comment and add more comments
* go-mod: replace pingcap/ticdc with pingcap/tiflow

* update go.mod
* persist job master

* pass test

* prepare for test

* address comments
* add demotask server and client

* remove the temp data files

* fix the make check error

* fix the some errors case
part job of pingcap#60
This PR supports the suspending of jobs and tasks, but it hasn't considered the consistency after fail-over.

The "suspend" is implemented in an async way, because suspending might happen when rescheduling or fail recovering.
After the user sends suspend request, we mark the "target status" for the target tasks. A goroutine will check the status regularly, and will try to suspend it util success. There are some work to do furture.

* The commands should be serializable. If several commands are sent in the same time, we should order them.
* The command have to be persisted and to be continued when node crashes.
* jobmaster: refine check running tasks in job master

* use free port instead of hard code port
* test: fix unstable pause job test

* add paused check in sink operator

* increase wait time
@amyangfei amyangfei force-pushed the merge-engine branch 2 times, most recently from 04997a2 to c4e07d0 Compare May 19, 2022 07:58
@amyangfei
Copy link
Contributor Author

/run-all-tests

@amyangfei
Copy link
Contributor Author

/run-all-tests

* adjust job config and support precheck
@amyangfei amyangfei force-pushed the merge-engine branch 2 times, most recently from 020b4a7 to 399645f Compare May 20, 2022 04:15
maxshuang and others added 3 commits May 20, 2022 12:19
@amyangfei
Copy link
Contributor Author

/run-all-tests

Copy link
Contributor

@GMHDBJD GMHDBJD left a comment

Choose a reason for hiding this comment

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

LGTM

@ti-chi-bot ti-chi-bot added status/LGT2 Indicates that a PR has LGTM 2. and removed status/LGT1 Indicates that a PR has LGTM 1. labels May 20, 2022
@amyangfei
Copy link
Contributor Author

/unhold

@ti-chi-bot ti-chi-bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 20, 2022
@amyangfei amyangfei merged commit 94bb236 into pingcap:master May 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-note-none Denotes a PR that doesn't merit a release note. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. status/LGT2 Indicates that a PR has LGTM 2. status/ptal Could you please take a look? tide/merge-method-merge Denotes a PR that should be merge by tide when it merges.
Projects
None yet
Development

Successfully merging this pull request may close these issues.