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 ¶
type JsonTopologyDecoder struct{}
type PlainTopologyDecoder ¶
type PlainTopologyDecoder struct{}
type ProtoTopologyDecoder ¶
type ProtoTopologyDecoder struct{}
type TopologyDecoder ¶
type TopologyDecoder interface {
// contains filtered or unexported methods
}
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 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. |
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. |