-
Notifications
You must be signed in to change notification settings - Fork 727
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
Add a special scheduler for evict leader with timeout #2782
Comments
Timeout is unpredictable. No one knows what's an appropriate value. I suggest to use a steaming grpc call or long http connection. The evict-leader-scheduler is added once the call/connection is established, and removed once the call/connection is aborted or finished. |
I'd like to propose another approach.
|
@disksing I suggested a similar solution in chat. However this doesn't solve the case that user abort the operations, in which case TiKV doesn't have to be restarted. The solution I suggested above doesn't require a new scheduler and also work in all known cases. |
BR also meet the same problem, BR will temporary remove |
Currently PD supports the following TTL-based API:
This issues requests a TTL-based API to:
BR requests 3 TTL-based APIs to:
Question: what to do when multiple services require conflicting settings? In GC-TTL the conflict resolution is simple: just set the safepoint to min of all alive services. But for the new APIs... say, service A registers to remove scheduler X, and service B registers to add the same scheduler X, how should this be resolved? I see two solutions for now:
We also need to consider the interaction with the existing dynamic (permanent) changes. For instance, if a service has registered to set
|
I think the
|
For removing schedulers we could use the "Pause" API (#1831), which is available on 3.1 and 4.0. |
Feature Request
Describe your feature request related problem
To upgrade the TiKV cluster, we will use
evict-leader-scheduler
to ensure the restart TiKV has no leader. but we encountered the problem that theevict-leader-scheduler
was not deleted many times during the rolling upgrade process. In order to better solve the problem, we can provide a special evict leader scheduling with a timeout for the deployment tool.Describe the feature you'd like
Add a special scheduler for evict leader with timeout
Describe alternatives you've considered
the timeout should suitable in most cases.
Teachability, Documentation, Adoption, Migration Strategy
The text was updated successfully, but these errors were encountered: