Documentation
¶
Index ¶
- func GetDispatchPolicy(p DispatchPolicy) string
- func GetValidDispatchPolicy() []string
- func InitGlobalTopoFetcher(typ string, addr string, clusterID string, isFixedPool bool) (err error)
- type AWSTopoFetcher
- type DispatchPolicy
- type MockTopoFetcher
- type RecoveryType
- type TestTopoFetcher
- type TopoFetcher
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetDispatchPolicy ¶
func GetDispatchPolicy(p DispatchPolicy) string
GetDispatchPolicy return corresponding policy string.
func GetValidDispatchPolicy ¶
func GetValidDispatchPolicy() []string
GetValidDispatchPolicy return all valid policy string.
Types ¶
type AWSTopoFetcher ¶
type AWSTopoFetcher struct {
// contains filtered or unexported fields
}
AWSTopoFetcher will fetch topo from AWSAutoScaler.
func NewAWSAutoScalerFetcher ¶
func NewAWSAutoScalerFetcher(addr string, clusterID string, isFixed bool) *AWSTopoFetcher
NewAWSAutoScalerFetcher create a new AWSTopoFetcher.
func (*AWSTopoFetcher) FetchAndGetTopo ¶
func (f *AWSTopoFetcher) FetchAndGetTopo() (curTopo []string, err error)
FetchAndGetTopo implements TopoFetcher interface.
func (*AWSTopoFetcher) RecoveryAndGetTopo ¶
func (f *AWSTopoFetcher) RecoveryAndGetTopo(recovery RecoveryType, oriCNCnt int) (curTopo []string, err error)
RecoveryAndGetTopo implements TopoFetcher interface.
type DispatchPolicy ¶
type DispatchPolicy int
DispatchPolicy means different policy to dispatching task to tiflash_compute nods.
const ( // DispatchPolicyRR means dispatching by RoundRobin. DispatchPolicyRR DispatchPolicy = iota // DispatchPolicyConsistentHash means dispatching by ConsistentHash. DispatchPolicyConsistentHash // DispatchPolicyInvalid is invalid policy. DispatchPolicyInvalid )
func GetDispatchPolicyByStr ¶
func GetDispatchPolicyByStr(str string) (DispatchPolicy, error)
GetDispatchPolicyByStr return corresponding policy.
type MockTopoFetcher ¶
type MockTopoFetcher struct {
// contains filtered or unexported fields
}
MockTopoFetcher will fetch topo from MockAutoScaler. MockScaler can run in local environment.
func NewMockAutoScalerFetcher ¶
func NewMockAutoScalerFetcher(addr string) *MockTopoFetcher
NewMockAutoScalerFetcher create a new MockTopoFetcher.
func (*MockTopoFetcher) FetchAndGetTopo ¶
func (f *MockTopoFetcher) FetchAndGetTopo() ([]string, error)
FetchAndGetTopo implements TopoFetcher interface.
func (*MockTopoFetcher) RecoveryAndGetTopo ¶
func (*MockTopoFetcher) RecoveryAndGetTopo(RecoveryType, int) ([]string, error)
RecoveryAndGetTopo implements TopoFetcher interface.
type RecoveryType ¶
type RecoveryType uint32
RecoveryType is for MPPErrRecovery.
const ( // RecoveryTypeNull means no need to recovery error. RecoveryTypeNull RecoveryType = iota // RecoveryTypeMemLimit means need to recovery MemLimit error. RecoveryTypeMemLimit )
type TestTopoFetcher ¶
type TestTopoFetcher struct{}
TestTopoFetcher will return empty topo list, just for unit test.
func NewTestAutoScalerFetcher ¶
func NewTestAutoScalerFetcher() *TestTopoFetcher
NewTestAutoScalerFetcher returns TestTopoFetcher.
func (*TestTopoFetcher) FetchAndGetTopo ¶
func (*TestTopoFetcher) FetchAndGetTopo() ([]string, error)
FetchAndGetTopo implements TopoFetcher interface.
func (*TestTopoFetcher) RecoveryAndGetTopo ¶
func (*TestTopoFetcher) RecoveryAndGetTopo(RecoveryType, int) ([]string, error)
RecoveryAndGetTopo implements TopoFetcher interface.
type TopoFetcher ¶
type TopoFetcher interface { // Always fetch topo from AutoScaler, then return topo. // If topo is empty, will not return error. FetchAndGetTopo() ([]string, error) // Try recovery error then fetch new topo. RecoveryAndGetTopo(recovery RecoveryType, oriCNCnt int) ([]string, error) }
TopoFetcher is interface for fetching topo from AutoScaler. We support the following kinds of AutoScaler for now:
- MockAutoScaler: Normally for test, can run in local environment.
- AWSAutoScaler: AutoScaler runs on AWS.
- GCPAutoScaler: AutoScaler runs on GCP.
- TestAutoScaler: AutoScaler just for unit test.
func GetGlobalTopoFetcher ¶
func GetGlobalTopoFetcher() TopoFetcher
GetGlobalTopoFetcher return global topo fetcher, not thread safe.