Documentation ¶
Index ¶
- Constants
- func IsEndStatus(s OpStatus) bool
- func OpStatusToString(s OpStatus) string
- type AddDnReplica
- type AddLogService
- type Builder
- type Controller
- func (c *Controller) Dispatch(ops []*Operator, logState pb.LogState, dnState pb.DNState) (commands []pb.ScheduleCommand)
- func (c *Controller) GetAddingReplicas() map[uint64][]uint64
- func (c *Controller) GetOperators(shardID uint64) []*Operator
- func (c *Controller) GetRemovingReplicas() map[uint64][]uint64
- func (c *Controller) RemoveFinishedOperator(logState pb.LogState, dnState pb.DNState)
- func (c *Controller) RemoveOperator(op *Operator) bool
- type OpStatus
- type OpStatusTracker
- func (trk *OpStatusTracker) CheckExpired(exp time.Duration) bool
- func (trk *OpStatusTracker) IsEnd() bool
- func (trk *OpStatusTracker) ReachTime() time.Time
- func (trk *OpStatusTracker) ReachTimeOf(s OpStatus) time.Time
- func (trk *OpStatusTracker) Status() OpStatus
- func (trk *OpStatusTracker) String() string
- func (trk *OpStatusTracker) To(dst OpStatus) bool
- type OpStep
- type Operator
- func CreateAddReplica(uuid util.StoreID, shardInfo logservice.LogShardInfo, replicaID uint64) (*Operator, error)
- func CreateRemoveReplica(uuid util.StoreID, shardInfo logservice.LogShardInfo) (*Operator, error)
- func CreateStartReplica(brief string, uuid util.StoreID, shardID, replicaID uint64) *Operator
- func CreateStopReplica(brief string, uuid util.StoreID, shardID uint64) *Operator
- func NewOperator(brief string, shardID uint64, epoch uint64, steps ...OpStep) *Operator
- func (o *Operator) Cancel() bool
- func (o *Operator) Check(logState pb.LogState, dnState pb.DNState) OpStep
- func (o *Operator) CheckExpired() bool
- func (o *Operator) CheckSuccess() bool
- func (o *Operator) GetStartTime() time.Time
- func (o *Operator) HasStarted() bool
- func (o *Operator) IsEnd() bool
- func (o *Operator) OpSteps() []OpStep
- func (o *Operator) SetStatus(status OpStatus)
- func (o *Operator) ShardID() uint64
- func (o *Operator) Status() OpStatus
- type RemoveDnReplica
- type RemoveLogService
- type StartLogService
- type StopDnStore
- type StopLogService
- type StopLogStore
Constants ¶
const ( ExpireTime = 15 * time.Second NoopEpoch uint64 = 0 NoopShardID uint64 = 0 )
Variables ¶
This section is empty.
Functions ¶
func OpStatusToString ¶
OpStatusToString converts Status to string.
Types ¶
type AddDnReplica ¶
func (AddDnReplica) String ¶
func (a AddDnReplica) String() string
type AddLogService ¶
type AddLogService struct { Target string StoreID string ShardID uint64 ReplicaID uint64 Epoch uint64 }
func (AddLogService) String ¶
func (a AddLogService) String() string
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
Builder is used to create operators. Usage:
op, err := NewBuilder(desc, cluster, shard). RemovePeer(store1). AddPeer(peer1). Build(kind)
The generated Operator will choose the most appropriate execution order according to various constraints.
func NewBuilder ¶
func NewBuilder(desc string, shardInfo logservice.LogShardInfo) *Builder
NewBuilder creates a Builder.
func (*Builder) RemovePeer ¶
RemovePeer records a remove peer operation in Builder.
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
Controller is used to manage operators.
func NewController ¶
func NewController() *Controller
func (*Controller) Dispatch ¶
func (c *Controller) Dispatch(ops []*Operator, logState pb.LogState, dnState pb.DNState) (commands []pb.ScheduleCommand)
func (*Controller) GetAddingReplicas ¶
func (c *Controller) GetAddingReplicas() map[uint64][]uint64
func (*Controller) GetOperators ¶
func (c *Controller) GetOperators(shardID uint64) []*Operator
GetOperators gets operators from the given shard.
func (*Controller) GetRemovingReplicas ¶
func (c *Controller) GetRemovingReplicas() map[uint64][]uint64
func (*Controller) RemoveFinishedOperator ¶
func (c *Controller) RemoveFinishedOperator(logState pb.LogState, dnState pb.DNState)
func (*Controller) RemoveOperator ¶
func (c *Controller) RemoveOperator(op *Operator) bool
RemoveOperator removes an operator from the operators.
type OpStatusTracker ¶
type OpStatusTracker struct {
// contains filtered or unexported fields
}
OpStatusTracker represents the status of an operator.
func NewOpStatusTracker ¶
func NewOpStatusTracker() OpStatusTracker
NewOpStatusTracker creates an OpStatus.
func (*OpStatusTracker) CheckExpired ¶
func (trk *OpStatusTracker) CheckExpired(exp time.Duration) bool
CheckExpired checks if expired, and update the current status.
func (*OpStatusTracker) IsEnd ¶
func (trk *OpStatusTracker) IsEnd() bool
IsEnd checks whether the current status is an end status.
func (*OpStatusTracker) ReachTime ¶
func (trk *OpStatusTracker) ReachTime() time.Time
ReachTime returns the reach time of current status.
func (*OpStatusTracker) ReachTimeOf ¶
func (trk *OpStatusTracker) ReachTimeOf(s OpStatus) time.Time
ReachTimeOf returns the time when reached given status. If didn't reached the given status, return zero.
func (*OpStatusTracker) Status ¶
func (trk *OpStatusTracker) Status() OpStatus
Status returns current status.
func (*OpStatusTracker) String ¶
func (trk *OpStatusTracker) String() string
String implements fmt.Stringer.
func (*OpStatusTracker) To ¶
func (trk *OpStatusTracker) To(dst OpStatus) bool
To transfer the current status to dst if this transition is valid, returns whether transferred.
type Operator ¶
type Operator struct {
// contains filtered or unexported fields
}
Operator contains execution steps generated by scheduler.
func CreateAddReplica ¶
func CreateAddReplica(uuid util.StoreID, shardInfo logservice.LogShardInfo, replicaID uint64) (*Operator, error)
func CreateRemoveReplica ¶
func CreateRemoveReplica(uuid util.StoreID, shardInfo logservice.LogShardInfo) (*Operator, error)
func CreateStartReplica ¶
func CreateStopReplica ¶
func NewOperator ¶
NewOperator creates a new operator.
func (*Operator) CheckExpired ¶
CheckExpired checks if the operator is timeout, and update the status.
func (*Operator) CheckSuccess ¶
CheckSuccess checks if all steps are finished, and update the status.
func (*Operator) GetStartTime ¶
GetStartTime gets the start time of operator.
func (*Operator) HasStarted ¶
HasStarted returns whether operator has started.
type RemoveDnReplica ¶
func (RemoveDnReplica) String ¶
func (a RemoveDnReplica) String() string
type RemoveLogService ¶
type RemoveLogService struct { Target string StoreID string ShardID uint64 ReplicaID uint64 Epoch uint64 }
func (RemoveLogService) String ¶
func (a RemoveLogService) String() string
type StartLogService ¶
func (StartLogService) String ¶
func (a StartLogService) String() string
type StopDnStore ¶
type StopDnStore struct {
StoreID string
}
StopDnStore corresponds to dn store shutdown command.
func (StopDnStore) String ¶
func (a StopDnStore) String() string
type StopLogService ¶
func (StopLogService) String ¶
func (a StopLogService) String() string
type StopLogStore ¶
type StopLogStore struct {
StoreID string
}
StopLogStore corresponds to log store shutdown command.
func (StopLogStore) String ¶
func (a StopLogStore) String() string