VTGate is a stateless proxy responsible for accepting requests from applications and routing them to the appropriate tablet server(s) for query execution. It speaks both the MySQL Protocol and a gRPC protocol.
Specifies the tablet types this vtgate is allowed to route queries to
log to standard error as well as files
Maximum number of requests retried simultaneously. More concurrency will increase the load on the PRIMARY vttablet when draining the buffer. (default 1)
The algorithm used for managing request buffering during cluster availability events (allowed values: “healthcheck” (default), “keyspace_events”)
If not empty, limit buffering to these entries (comma separated). Entry format: keyspace or keyspace/shard. Requires –enable_buffer=true.
Stop buffering completely if a failover takes longer than this duration. (default 20s)
Minimum time between the end of a failover and the start of the next one (tracked per shard). Faster consecutive failovers will not trigger buffering. (default 1m0s)
Maximum number of buffered requests in flight (across all ongoing failovers). (default 10)
Duration for how long a request should be buffered at most. (default 10s)
cell to use (default “test_nj”)
comma-separated list of cells for watching tablets
JSON File to read the topos/tokens from.
write cpu profile to file
host to send spans to. if empty, no tracing will be done
port to send spans to. if empty, no tracing will be done
Set default strategy for DDL statements. Override with @@ddl_strategy session variable.
The default tablet type to set for queries, when one is not explicitly selected (default PRIMARY)
the replication lag that is considered too high when selecting the minimum num vttablets for serving (default 2h0m0s)
the replication lag that is considered low enough to be healthy (default 30s)
true iff we should emit stats to push-based monitoring/stats backends
Enable buffering (stalling) of primary traffic during failovers.
Detect and log failover events, but do not actually buffer requests.
Enables the system settings to be changed per session at the database connection level. Override with @@enable_system_settings session variable.
gate server query cache size, maximum number of queries to be cached. vtgate analyzes every incoming query and generate a query plan, these plans are being cached in a lru cache. This config controls the capacity of the lru cache. (default 10000)
The implementation of gateway (default “tabletgateway”)
At startup, the gateway will wait up to that duration to get one tablet per keyspace/shard/tablettype (default 30s)
Which auth plugin implementation to use (eg: static)
List of substrings of at least one of the client certificate names (separated by colon).
when using grpc_static_auth in the server, this file provides the credentials to use to authenticate with server
JSON File to read the users/passwords from.
ca to use, requires TLS, and enforces client cert check
certificate to use, requires grpc_key, enables TLS
how to compress gRPC, default: nothing, supported: snappy
Enable GRPC tracing
grpc initial connection window size
grpc initial window size
After a duration of this time if the client doesn’t see any activity it pings the server to see if the transport is still alive. (default 10s)
After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed. (default 10s)
key to use, requires grpc_cert, enables TLS
Maximum age of a client connection before GoAway is sent. (default 2562047h47m16.854775807s)
Additional grace period after grpc_max_connection_age, after which connections are forcibly closed. (default 2562047h47m16.854775807s)
Maximum allowed RPC message size. Larger messages will be rejected by gRPC with the error ‘exceeding the max size’. (default 16777216)