ref tikv/pd#8978, closestikv/pd#9724
Make `GetAllKeyspacesGCStates` able to be batched (allowing multiple calls merged to a single call and share the result).
A helper type `OrderedSingleFlight` is added to utils.
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
closetikv/pd#8978
This PR migrates the old GC APIs to the new implementation, and marks them as deprecated.
Also suppresses warnings on necessary invocations to them, such as tests.
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
ref tikv/pd#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 <MyonKeminta@users.noreply.github.com>
Co-authored-by: ti-chi-bot[bot] <108142056+ti-chi-bot[bot]@users.noreply.github.com>
ref tikv/pd#8978
Implement compatibility methods and `GetAllKeyspacesGCStates` method to `GCStateManager`, which is planned to be the replacement of `SafePointManager`.
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
Co-authored-by: ti-chi-bot[bot] <108142056+ti-chi-bot[bot]@users.noreply.github.com>
ref tikv/pd#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 <MyonKeminta@users.noreply.github.com>
Co-authored-by: ti-chi-bot[bot] <108142056+ti-chi-bot[bot]@users.noreply.github.com>