vtctl

package
v0.12.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 20, 2022 License: Apache-2.0 Imports: 57 Imported by: 10

Documentation

Overview

Package vtctl contains the implementation of all the Vitess management commands.

Index

Constants

This section is empty.

Variables

View Source
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.

View Source
var (
	// ErrUnknownCommand is returned for an unknown command
	ErrUnknownCommand = errors.New("unknown command")
)
View Source
var (
	// WorkflowManager contains our manager. It needs to be set or else all
	// commands will be disabled.
	WorkflowManager *workflow.Manager
)

Functions

func DecodeContent

func DecodeContent(filename string, data []byte, json bool) (string, error)

DecodeContent uses the filename to imply a type, and proto-decodes the right object, then echoes it as a string.

func MarshalJSON

func MarshalJSON(obj interface{}) (data []byte, err error)

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

func PrintAllCommands(logger logutil.Logger)

PrintAllCommands will print the list of commands to the logger

func RunCommand

func RunCommand(ctx context.Context, wr *wrangler.Wrangler, args []string) error

RunCommand will execute the command using the provided wrangler. It will return the actionPath to wait on for long remote actions if applicable.

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

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL