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

scheduler_v2: implement a data structure for storing table status #3217

Merged
merged 8 commits into from
Nov 2, 2021

Conversation

liuzix
Copy link
Contributor

@liuzix liuzix commented Nov 1, 2021

What problem does this PR solve?

  • To implement a peer-message based scheduler, we need a data structure to store and look up information of all the replicated tables.

What is changed and how it works?

  • Implemented TableSet.
  • Methods include:
AddTableRecord(record *TableRecord) (successful bool)
GetTableRecord(tableID model.TableID) (*TableRecord, bool)
RemoveTableRecord(tableID model.TableID) bool
RemoveTableRecordByCaptureID(captureID model.CaptureID)
CountTableByCaptureID(captureID model.CaptureID) int
GetDistinctCaptures() []model.CaptureID
GetAllTables() map[model.TableID]*TableRecord
GetAllTablesGroupedByCaptures() map[model.CaptureID]map[model.TableID]*TableRecord
CountTableByStatus(status TableStatus) (count int)

Check List

Tests

  • Unit test

Release note

None

@ti-chi-bot
Copy link
Member

ti-chi-bot commented Nov 1, 2021

[REVIEW NOTIFICATION]

This pull request has been approved by:

  • 3AceShowHand
  • asddongmen

To complete the pull request process, please ask the reviewers in the list to review by filling /cc @reviewer in the comment.
After your PR has acquired the required number of LGTMs, you can assign this pull request to the committer in the list by filling /assign @committer in the comment to help you merge this pull request.

The full list of commands accepted by this bot can be found here.

Reviewer can indicate their review by submitting an approval review.
Reviewer can cancel approval by submitting a request changes review.

@ti-chi-bot ti-chi-bot added release-note-none Denotes a PR that doesn't merit a release note. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Nov 1, 2021
@liuzix liuzix requested review from zier-one, amyangfei, asddongmen, 3AceShowHand and overvenus and removed request for zier-one November 1, 2021 07:52
@liuzix liuzix added the status/ptal Could you please take a look? label Nov 1, 2021
@liuzix liuzix added this to the v5.3.0 milestone Nov 1, 2021
@liuzix
Copy link
Contributor Author

liuzix commented Nov 1, 2021

/run-leak-tests

@liuzix liuzix changed the title scheduler_v2: implement the basic logic for the new scheduler (Part I) scheduler_v2: implement a data structure for storing table status Nov 1, 2021
Copy link
Member

@overvenus overvenus left a comment

Choose a reason for hiding this comment

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

Rest LGTM

cdc/scheduler/util/table_set.go Show resolved Hide resolved
@3AceShowHand
Copy link
Contributor

LGTM

cdc/scheduler/util/table_set.go Outdated Show resolved Hide resolved
cdc/scheduler/util/table_set.go Outdated Show resolved Hide resolved
@asddongmen
Copy link
Contributor

/rest LGTM

@ti-chi-bot ti-chi-bot added the status/LGT1 Indicates that a PR has LGTM 1. label Nov 2, 2021
@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 Nov 2, 2021
@amyangfei
Copy link
Contributor

/merge

@ti-chi-bot
Copy link
Member

This pull request has been accepted and is ready to merge.

Commit hash: 4d3f2ac

@ti-chi-bot ti-chi-bot added the status/can-merge Indicates a PR has been approved by a committer. label Nov 2, 2021
@liuzix
Copy link
Contributor Author

liuzix commented Nov 2, 2021

/run-integration-tests

@ti-chi-bot ti-chi-bot merged commit 4bc1853 into pingcap:master Nov 2, 2021
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/XL Denotes a PR that changes 500-999 lines, ignoring generated files. status/can-merge Indicates a PR has been approved by a committer. status/LGT2 Indicates that a PR has LGTM 2. status/ptal Could you please take a look?
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants