Versions in this module Expand all Collapse all v0 v0.1.0 Jun 15, 2023 Changes in this version + const DispatchFromCreate + const DispatchFromHeartBeat + const DispatchFromNotifierQueue + var FastOperatorFinishTime = 10 * time.Second + var LabelerEventCounter = prometheus.NewCounterVec(prometheus.CounterOpts{ ... }, []string{ ... }) + var PriorityWeight = []float64 + var PushOperatorTickInterval = 500 * time.Millisecond + var StoreBalanceBaseTime float64 = 60 + func AddOpInfluence(op *operator.Operator, influence operator.OpInfluence, cluster Cluster) + func ApplyOperator(mc *mockcluster.Cluster, op *operator.Operator) + func ApplyOperatorStep(region *core.RegionInfo, op *operator.Operator) *core.RegionInfo + func DecodeConfig(data []byte, v interface{}) error + func EncodeConfig(v interface{}) ([]byte, error) + func FindSchedulerTypeByName(name string) string + func NewTotalOpInfluence(operators []*operator.Operator, cluster Cluster) operator.OpInfluence + func RegisterScheduler(typ string, createFn CreateSchedulerFunc) + func RegisterSliceDecoderBuilder(typ string, builder ConfigSliceDecoderBuilder) + type Bucket struct + type Cluster interface + AddSuspectRegions func(ids ...uint64) + RecordOpStepWithTTL func(regionID uint64) + RemoveScheduler func(name string) error + SetHotPendingInfluenceMetrics func(storeLabel, rwTy, dim string, load float64) + type ConfigDecoder func(v interface{}) error + func ConfigJSONDecoder(data []byte) ConfigDecoder + func ConfigSliceDecoder(name string, args []string) ConfigDecoder + type ConfigSliceDecoderBuilder func([]string) ConfigDecoder + type CreateSchedulerFunc func(opController *OperatorController, storage endpoint.ConfigStorage, ...) (Scheduler, error) + type OperatorController struct + func NewOperatorController(ctx context.Context, cluster Cluster, hbStreams *hbstream.HeartbeatStreams) *OperatorController + func (oc *OperatorController) AddOperator(ops ...*operator.Operator) bool + func (oc *OperatorController) AddWaitingOperator(ops ...*operator.Operator) int + func (oc *OperatorController) Ctx() context.Context + func (oc *OperatorController) Dispatch(region *core.RegionInfo, source string) + func (oc *OperatorController) ExceedStoreLimit(ops ...*operator.Operator) bool + func (oc *OperatorController) GetCluster() Cluster + func (oc *OperatorController) GetFastOpInfluence(cluster Cluster, influence operator.OpInfluence) + func (oc *OperatorController) GetHistory(start time.Time) []operator.OpHistory + func (oc *OperatorController) GetOpInfluence(cluster Cluster) operator.OpInfluence + func (oc *OperatorController) GetOperator(regionID uint64) *operator.Operator + func (oc *OperatorController) GetOperatorStatus(id uint64) *OperatorWithStatus + func (oc *OperatorController) GetOperators() []*operator.Operator + func (oc *OperatorController) GetRecords(from time.Time) []*operator.OpRecord + func (oc *OperatorController) GetWaitingOperators() []*operator.Operator + func (oc *OperatorController) OperatorCount(kind operator.OpKind) uint64 + func (oc *OperatorController) PromoteWaitingOperator() + func (oc *OperatorController) PushOperators() + func (oc *OperatorController) RemoveOperator(op *operator.Operator, extraFields ...zap.Field) bool + func (oc *OperatorController) SendScheduleCommand(region *core.RegionInfo, step operator.OpStep, source string) + func (oc *OperatorController) SetOperator(op *operator.Operator) + type OperatorRecords struct + func NewOperatorRecords(ctx context.Context) *OperatorRecords + func (o *OperatorRecords) Get(id uint64) *OperatorWithStatus + func (o *OperatorRecords) Put(op *operator.Operator) + type OperatorWithStatus struct + FinishTime time.Time + Status pdpb.OperatorStatus + func NewOperatorWithStatus(op *operator.Operator) *OperatorWithStatus + func (o *OperatorWithStatus) MarshalJSON() ([]byte, error) + type PluginInterface struct + func NewPluginInterface() *PluginInterface + func (p *PluginInterface) GetFunction(path string, funcName string) (plugin.Symbol, error) + type RandBuckets struct + func NewRandBuckets() *RandBuckets + func (b *RandBuckets) GetOperator() []*operator.Operator + func (b *RandBuckets) ListOperator() []*operator.Operator + func (b *RandBuckets) PutOperator(op *operator.Operator) + type RangeCluster struct + func GenRangeCluster(cluster Cluster, startKey, endKey []byte) *RangeCluster + func (r *RangeCluster) GetAverageRegionSize() int64 + func (r *RangeCluster) GetFollowerStores(region *core.RegionInfo) []*core.StoreInfo + func (r *RangeCluster) GetLeaderStore(region *core.RegionInfo) *core.StoreInfo + func (r *RangeCluster) GetRegionStores(region *core.RegionInfo) []*core.StoreInfo + func (r *RangeCluster) GetStore(id uint64) *core.StoreInfo + func (r *RangeCluster) GetStores() []*core.StoreInfo + func (r *RangeCluster) GetTolerantSizeRatio() float64 + func (r *RangeCluster) RandFollowerRegions(storeID uint64, ranges []core.KeyRange) []*core.RegionInfo + func (r *RangeCluster) RandLeaderRegions(storeID uint64, ranges []core.KeyRange) []*core.RegionInfo + func (r *RangeCluster) SetTolerantSizeRatio(ratio float64) + type RegionScatterer struct + func NewRegionScatterer(ctx context.Context, cluster Cluster, opController *OperatorController) *RegionScatterer + func (r *RegionScatterer) Put(peers map[uint64]*metapb.Peer, leaderStoreID uint64, group string) + func (r *RegionScatterer) Scatter(region *core.RegionInfo, group string) (*operator.Operator, error) + func (r *RegionScatterer) ScatterRegionsByID(regionsID []uint64, group string, retryLimit int) (int, map[uint64]error, error) + func (r *RegionScatterer) ScatterRegionsByRange(startKey, endKey []byte, group string, retryLimit int) (int, map[uint64]error, error) + type RegionSplitter struct + func NewRegionSplitter(cluster Cluster, handler SplitRegionsHandler) *RegionSplitter + func (r *RegionSplitter) SplitRegions(ctx context.Context, splitKeys [][]byte, retryLimit int) (int, []uint64) + type Scheduler interface + Cleanup func(cluster Cluster) + EncodeConfig func() ([]byte, error) + GetMinInterval func() time.Duration + GetName func() string + GetNextInterval func(interval time.Duration) time.Duration + GetType func() string + IsScheduleAllowed func(cluster Cluster) bool + Prepare func(cluster Cluster) error + Schedule func(cluster Cluster, dryRun bool) ([]*operator.Operator, []plan.Plan) + func CreateScheduler(typ string, opController *OperatorController, storage endpoint.ConfigStorage, ...) (Scheduler, error) + type SplitRegionsHandler interface + ScanRegionsByKeyRange func(groupKeys *regionGroupKeys, results *splitKeyResults) + SplitRegionByKeys func(region *core.RegionInfo, splitKeys [][]byte) error + func NewSplitRegionsHandler(cluster Cluster, oc *OperatorController) SplitRegionsHandler + type WaitingOperator interface + GetOperator func() []*operator.Operator + ListOperator func() []*operator.Operator + PutOperator func(op *operator.Operator) + type WaitingOperatorStatus struct + func NewWaitingOperatorStatus() *WaitingOperatorStatus