Documentation ¶
Overview ¶
Package vtctl contains the implementation of all the Vitess management commands.
Index ¶
- Variables
- func DecodeContent(filename string, data []byte, json bool) (string, error)
- func MarshalJSON(obj interface{}) (data []byte, err error)
- func PrintAllCommands(logger logutil.Logger)
- func RunCommand(ctx context.Context, wr *wrangler.Wrangler, args []string) error
- type JSONTopologyDecoder
- type PlainTopologyDecoder
- type ProtoTopologyDecoder
- type TopologyDecoder
- type VReplicationWorkflowAction
Constants ¶
This section is empty.
Variables ¶
var ( HealthCheckTopologyRefresh = flag.Duration("vtctl_healthcheck_topology_refresh", 30*time.Second, "refresh interval for re-reading the topology") HealthcheckRetryDelay = flag.Duration("vtctl_healthcheck_retry_delay", 5*time.Second, "delay before retrying a failed healthcheck") HealthCheckTimeout = flag.Duration("vtctl_healthcheck_timeout", time.Minute, "the health check timeout period") )
Flags are exported for use in go/vt/vtctld.
var ( // ErrUnknownCommand is returned for an unknown command ErrUnknownCommand = errors.New("unknown command") )
var ( // WorkflowManager contains our manager. It needs to be set or else all // commands will be disabled. WorkflowManager *workflow.Manager )
Functions ¶
func DecodeContent ¶
DecodeContent uses the filename to imply a type, and proto-decodes the right object, then echoes it as a string.
func MarshalJSON ¶
MarshalJSON marshals "obj" to a JSON string. It uses the "jsonpb" marshaler or Go's standard one.
We use jsonpb for protobuf messages because it is the only supported way to marshal protobuf messages to JSON. In addition to that, it's the only way to emit zero values in the JSON output. Unfortunately, jsonpb works only for protobuf messages. Therefore, we use the default marshaler for the remaining structs (which are possibly mixed protobuf and non-protobuf).
TODO(mberlin): Switch "EnumAsInts" to "false" once the frontend is
updated and mixed types will use jsonpb as well.
func PrintAllCommands ¶
PrintAllCommands will print the list of commands to the logger
Types ¶
type JSONTopologyDecoder ¶ added in v0.10.0
type JSONTopologyDecoder struct{}
JSONTopologyDecoder exports topo node as JSON
type PlainTopologyDecoder ¶
type PlainTopologyDecoder struct{}
PlainTopologyDecoder exports topo node as plain text
type ProtoTopologyDecoder ¶
type ProtoTopologyDecoder struct{}
ProtoTopologyDecoder exports topo node as a proto
type TopologyDecoder ¶
type TopologyDecoder interface {
// contains filtered or unexported methods
}
TopologyDecoder interface for exporting out a leaf node in a readable form
type VReplicationWorkflowAction ¶ added in v0.9.0
type VReplicationWorkflowAction string
VReplicationWorkflowAction defines subcommands passed to vtctl for movetables or reshard
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package fakevtctlclient contains a fake for the vtctlclient interface.
|
Package fakevtctlclient contains a fake for the vtctlclient interface. |
Package grpcclientcommon defines the flags shared by both grpcvtctlclient and grpcvtctldclient.
|
Package grpcclientcommon defines the flags shared by both grpcvtctlclient and grpcvtctldclient. |
Package grpcvtctlclient contains the gRPC version of the vtctl client protocol
|
Package grpcvtctlclient contains the gRPC version of the vtctl client protocol |
Package grpcvtctldclient contains the gRPC version of the vtctld client protocol.
|
Package grpcvtctldclient contains the gRPC version of the vtctld client protocol. |
testutil
Package testutil contains utility functions for writing tests for the grpcvtctldserver.
|
Package testutil contains utility functions for writing tests for the grpcvtctldserver. |
Package grpcvtctlserver contains the gRPC implementation of the server side of the remote execution of vtctl commands.
|
Package grpcvtctlserver contains the gRPC implementation of the server side of the remote execution of vtctl commands. |
Package vtctlclient contains the generic client side of the remote vtctl protocol.
|
Package vtctlclient contains the generic client side of the remote vtctl protocol. |
Package vtctlclienttest contains the testsuite against which each RPC implementation of the vtctlclient interface must be tested.
|
Package vtctlclienttest contains the testsuite against which each RPC implementation of the vtctlclient interface must be tested. |
Package vtctldclient contains the generic client side of the remote vtctld protocol.
|
Package vtctldclient contains the generic client side of the remote vtctld protocol. |
Package workflow defines types and functions for working with Vitess workflows.
|
Package workflow defines types and functions for working with Vitess workflows. |