Documentation ¶
Index ¶
- Variables
- func GhostBinaryFileName() (fileName string, isOverride bool)
- func PTOSCFileName() (fileName string, isOverride bool)
- func RandomHash() string
- func ReadableTimestamp() string
- func ToReadableTimestamp(t time.Time) string
- type Executor
- func (e *Executor) CancelMigration(ctx context.Context, uuid string, terminateRunningMigration bool, ...) (result *sqltypes.Result, err error)
- func (e *Executor) CancelPendingMigrations(ctx context.Context, message string) (result *sqltypes.Result, err error)
- func (e *Executor) Close()
- func (e *Executor) ExecuteWithGhost(ctx context.Context, onlineDDL *schema.OnlineDDL) error
- func (e *Executor) ExecuteWithPTOSC(ctx context.Context, onlineDDL *schema.OnlineDDL) error
- func (e *Executor) ExecuteWithVReplication(ctx context.Context, onlineDDL *schema.OnlineDDL, ...) error
- func (e *Executor) InitDBConfig(keyspace, shard, dbName string)
- func (e *Executor) OnSchemaMigrationStatus(ctx context.Context, ...) (err error)
- func (e *Executor) Open() error
- func (e *Executor) RetryMigration(ctx context.Context, uuid string) (result *sqltypes.Result, err error)
- func (e *Executor) TabletAliasString() string
- func (e *Executor) VExec(ctx context.Context, vx *vexec.TabletVExec) (qr *querypb.QueryResult, err error)
- type VRepl
- type VReplStream
Constants ¶
This section is empty.
Variables ¶
var ( // ErrExecutorNotWritableTablet is generated when executor is asked to run gh-ost on a read-only server ErrExecutorNotWritableTablet = errors.New("cannot run migration on non-writable tablet") // ErrExecutorMigrationAlreadyRunning is generated when an attempt is made to run an operation that conflicts with a running migration ErrExecutorMigrationAlreadyRunning = errors.New("cannot run migration since a migration is already running") // ErrMigrationNotFound is returned by readMigration when given UUI cannot be found ErrMigrationNotFound = errors.New("migration not found") )
Functions ¶
func GhostBinaryFileName ¶
GhostBinaryFileName returns the full path+name of the gh-ost binary
func PTOSCFileName ¶
PTOSCFileName returns the full path+name of the pt-online-schema-change binary Note that vttablet does not include pt-online-schema-change
func ReadableTimestamp ¶
func ReadableTimestamp() string
ReadableTimestamp returns a timestamp, in seconds resolution, that is human readable (as opposed to unix timestamp which is just a number), and which corresponds to the time now. Example: for Aug 25 2020, 16:04:25 we return "20200825160425"
func ToReadableTimestamp ¶
ToReadableTimestamp returns a timestamp, in seconds resolution, that is human readable (as opposed to unix timestamp which is just a number) Example: for Aug 25 2020, 16:04:25 we return "20200825160425"
Types ¶
type Executor ¶
type Executor struct {
// contains filtered or unexported fields
}
Executor wraps and manages the execution of a gh-ost migration.
func NewExecutor ¶
func NewExecutor(env tabletenv.Env, tabletAlias topodatapb.TabletAlias, ts *topo.Server, tabletTypeFunc func() topodatapb.TabletType) *Executor
NewExecutor creates a new gh-ost executor.
func (*Executor) CancelMigration ¶ added in v0.10.0
func (e *Executor) CancelMigration(ctx context.Context, uuid string, terminateRunningMigration bool, message string) (result *sqltypes.Result, err error)
CancelMigration attempts to abort a scheduled or a running migration
func (*Executor) CancelPendingMigrations ¶ added in v0.10.0
func (e *Executor) CancelPendingMigrations(ctx context.Context, message string) (result *sqltypes.Result, err error)
CancelPendingMigrations cancels all pending migrations (that are expected to run or are running) for this keyspace
func (*Executor) ExecuteWithGhost ¶
ExecuteWithGhost validates and runs a gh-ost process. Validation included testing the backend MySQL server and the gh-ost binary itself Execution runs first a dry run, then an actual migration
func (*Executor) ExecuteWithPTOSC ¶
ExecuteWithPTOSC validates and runs a pt-online-schema-change process. Validation included testing the backend MySQL server and the pt-online-schema-change binary itself Execution runs first a dry run, then an actual migration
func (*Executor) ExecuteWithVReplication ¶ added in v0.10.0
func (e *Executor) ExecuteWithVReplication(ctx context.Context, onlineDDL *schema.OnlineDDL, revertMigration *schema.OnlineDDL) error
ExecuteWithVReplication sets up the grounds for a vreplication schema migration
func (*Executor) InitDBConfig ¶
InitDBConfig initializes keysapce
func (*Executor) OnSchemaMigrationStatus ¶
func (e *Executor) OnSchemaMigrationStatus(ctx context.Context, uuidParam, statusParam, dryrunParam, progressParam, etaParam string) (err error)
OnSchemaMigrationStatus is called by TabletServer's API, which is invoked by a running gh-ost migration's hooks.
func (*Executor) RetryMigration ¶ added in v0.10.0
func (e *Executor) RetryMigration(ctx context.Context, uuid string) (result *sqltypes.Result, err error)
RetryMigration marks given migration for retry
func (*Executor) TabletAliasString ¶ added in v0.9.0
TabletAliasString returns tablet alias as string (duh)
func (*Executor) VExec ¶
func (e *Executor) VExec(ctx context.Context, vx *vexec.TabletVExec) (qr *querypb.QueryResult, err error)
VExec is called by a VExec invocation Implements vitess.io/vitess/go/vt/vttablet/vexec.Executor interface
type VRepl ¶ added in v0.10.0
type VRepl struct {
// contains filtered or unexported fields
}
VRepl is an online DDL helper for VReplication based migrations (ddl_strategy="online")
type VReplStream ¶ added in v0.10.0
type VReplStream struct {
// contains filtered or unexported fields
}
VReplStream represents a row in _vt.vreplication table