Support scaling in multiple TiKV/TiFlash instances simultaneously
Feature Request
Is your feature request related to a problem? Please describe:
Currently, during scaling in, TiDB Operator scales in the TiKV and TiFlash one by one, actually, multiple instances can be scaled simultaneously, however, scaling in too many instances at the same time may cause a performance drop because there are too many region replicas are being rescheduled.
Describe the feature you'd like:
Describe alternatives you've considered:
Teachability, Documentation, Adoption, Migration Strategy:
We may add a new field spec.tikv.maxScaleInReplicas to control this behavior, default to 1, which is the same as the current behavior.
I would like to help with this one if you don't mind.
@duduainankai Sure, thanks a lot!
@DanielZhangQD Hi, here is what I going to do:
-
scale in multi tikv store in one
ScaleIncall. -
In order to do that find as many as possible but no more than
spec.tikv.maxScaleInReplicasin one anotherscaleOnelike call, maybescaleMulti. -
Try every possible ordinal found and aggregate all error to return.
Please point out if something is wrong.