Skip to content

Refactor GC related PD APIs #8978

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

Closed
11 of 21 tasks
MyonKeminta opened this issue Jan 6, 2025 · 0 comments · Fixed by #9203 · May be fixed by #9292
Closed
11 of 21 tasks

Refactor GC related PD APIs #8978

MyonKeminta opened this issue Jan 6, 2025 · 0 comments · Fixed by #9203 · May be fixed by #9292
Labels
type/development The issue belongs to a development tasks

Comments

@MyonKeminta
Copy link
Contributor

MyonKeminta commented Jan 6, 2025

Development Task

This is the majority part of the refactoring task pingcap/tidb#58720.

A set of new APIs for GC will be implemented which is expected to provide a more comprehensible semantics and recude potential misuses. This will also be the basis for implementing a planned feature name protected snapshots.

Subtasks

Note that protected snapshots won't be included in this phase and will be another separated work after finishing the refactoring.

Other fixes:

@MyonKeminta MyonKeminta added the type/development The issue belongs to a development tasks label Jan 6, 2025
ti-chi-bot bot added a commit that referenced this issue Feb 19, 2025
#9016)

ref #8978

Exposes etcd's transactoin API to kv.Base layer. The behavior is also simulated in `MemKV` and `LevelDBKV` to provide the same interface.

Signed-off-by: MyonKeminta <[email protected]>

Co-authored-by: ti-chi-bot[bot] <108142056+ti-chi-bot[bot]@users.noreply.github.com>
ti-chi-bot bot pushed a commit that referenced this issue Mar 12, 2025
…ovider` to storage/endpoints as the new storage layer for GC related metadata (#9109)

ref #8978

Add a new component `GCStateStorage` and `GCStateProvider` to storage/endpoints as the new storage layer for GC related metadata.
This is part of the GC Interface Refactor task. The `GCSafePointStorage` is planned to be deprecated, and the GCStateStorage will be the replacement. It's currently not used, and will be used when we refactor the upper layer (`GCSafePointManager`->`GCStateManager`, the gRPC layer, etc.).

Signed-off-by: MyonKeminta <[email protected]>
ti-chi-bot bot added a commit that referenced this issue Apr 8, 2025
…afePointManager` (#9169)

ref #8978

Add `GCStateManager` which is planned to be the replacement of `SafePointManager`.

This is part of the refactor task #8978 . The new module is not yet used until the next PR updates the gRPC service interfaces.

Signed-off-by: MyonKeminta <[email protected]>

Co-authored-by: ti-chi-bot[bot] <108142056+ti-chi-bot[bot]@users.noreply.github.com>
ti-chi-bot bot added a commit that referenced this issue Apr 15, 2025
…hod to `GCStateManager` (#9134)

ref #8978

Implement compatibility methods and `GetAllKeyspacesGCStates` method to `GCStateManager`, which is planned to be the replacement of `SafePointManager`.

Signed-off-by: MyonKeminta <[email protected]>

Co-authored-by: ti-chi-bot[bot] <108142056+ti-chi-bot[bot]@users.noreply.github.com>
ti-chi-bot bot added a commit that referenced this issue May 14, 2025
ref #8978

Co-authored-by: ti-chi-bot[bot] <108142056+ti-chi-bot[bot]@users.noreply.github.com>
ti-chi-bot bot added a commit that referenced this issue May 15, 2025
ref #8978

Add new gRPC API for GC as designed in the refactor task #8978 .
Also adapts the existing GC APIs to the new implementation.

Signed-off-by: MyonKeminta <[email protected]>

Co-authored-by: ti-chi-bot[bot] <108142056+ti-chi-bot[bot]@users.noreply.github.com>
ti-chi-bot bot added a commit that referenced this issue May 22, 2025
close #8978

client: Update PD Client interface and supports the new GC API

This is part of the GC Refactor work #8978 .

Signed-off-by: MyonKeminta <[email protected]>

Co-authored-by: ti-chi-bot[bot] <108142056+ti-chi-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/development The issue belongs to a development tasks
Projects
None yet
1 participant