-
Notifications
You must be signed in to change notification settings - Fork 720
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
keyspace: Refactor keyspace manager using RunInTxn #5843
keyspace: Refactor keyspace manager using RunInTxn #5843
Conversation
Signed-off-by: David <8039876+AmoebaProtozoa@users.noreply.github.com>
Signed-off-by: David <8039876+AmoebaProtozoa@users.noreply.github.com>
Signed-off-by: David <8039876+AmoebaProtozoa@users.noreply.github.com>
# Conflicts: # pkg/storage/kv/etcd_kv.go # pkg/storage/kv/levedb_kv.go
Signed-off-by: David <8039876+AmoebaProtozoa@users.noreply.github.com>
Signed-off-by: David <8039876+AmoebaProtozoa@users.noreply.github.com>
Signed-off-by: David <8039876+AmoebaProtozoa@users.noreply.github.com>
[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. |
Hi @AmoebaProtozoa. Thanks for your PR. I'm waiting for a tikv member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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 kubernetes/test-infra repository. |
Codecov ReportBase: 74.85% // Head: 75.48% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## master #5843 +/- ##
==========================================
+ Coverage 74.85% 75.48% +0.62%
==========================================
Files 337 338 +1
Lines 33941 33983 +42
==========================================
+ Hits 25406 25651 +245
+ Misses 6351 6126 -225
- Partials 2184 2206 +22
Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
Signed-off-by: David <8039876+AmoebaProtozoa@users.noreply.github.com>
Signed-off-by: David <8039876+AmoebaProtozoa@users.noreply.github.com>
Signed-off-by: David <8039876+AmoebaProtozoa@users.noreply.github.com>
Signed-off-by: David <8039876+AmoebaProtozoa@users.noreply.github.com>
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.
LGTM
// | ||
// ENABLED -> {ENABLED, DISABLED} | ||
// DISABLED -> {ENABLED, DISABLED, ARCHIVED} | ||
// ARCHIVED -> {ARCHIVED, TOMBSTONE} |
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.
What the different between the {ARCHIVED, TOMBSTONE}
?
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.
Archive is used to denote that keyspace's corresponding data in store nodes are safe to remove/ currently being removed (or being archived into cold storage somewhere else), a point of no return for the keyspace (as oppose to disabled which means data are still intact). This tells gc worker to keep cleaning up data belong to this keyspace.
Tombstone is used to denote that keyspace's data in storage has been completely removed, gc worker can safely skip gcing this keyspace
/merge |
@disksing: It seems you want to merge this PR, I will help you trigger all the tests: /run-all-tests 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. |
This pull request has been accepted and is ready to merge. Commit hash: c9b07ba
|
/test build |
Signed-off-by: David <8039876+AmoebaProtozoa@users.noreply.github.com>
/merge |
@disksing: It seems you want to merge this PR, I will help you trigger all the tests: /run-all-tests 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. |
This pull request has been accepted and is ready to merge. Commit hash: 07f70cd
|
/test run |
@disksing: The specified target(s) for
Use In response to this:
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 kubernetes/test-infra repository. |
/test build |
What problem does this PR solve?
Issue Number: Ref #5293
Previous PR #5347 added ability to batch multiple kv operations into a single RunInTxn style execution block, this PR uses that to refactor Keyspace manager.
In addition, a new keyspace state
tombstone
is added to denote that user data related to keyspace has been completely removed from storage.It also updates kvproto to pingcap/kvproto#1033
What is changed and how does it work?
Check List
Tests
Release note