This reference guide explains the commands that the vtctl tool supports. vtctl is a command-line tool used to administer a Vitess cluster, and it allows a human or application to easily interact with a Vitess implementation.
Commands are listed in the following groups:
Registers a local topology service in a new cell by creating the CellInfo with the provided parameters. The address will be used to connect to the topology service, and we'll put Vitess data starting at the provided root.
AddCellInfo [-server_address <addr>] [-root <root>] <cell>
| Name | Type | Definition |
|---|---|---|
| root | string | The root path the topology server is using for that cell. |
| server_address | string | The address the topology server is using for that cell. |
<addr>
– Required.<cell>
– Required. A cell is a location for a service. Generally, a cell resides in only one cluster. In Vitess, the terms "cell" and "data center" are interchangeable. The argument value is a string that does not contain whitespace.<cell>
argument is required for the <AddCellInfo>
command This error occurs if the command is not called with exactly one argument.Deletes the CellInfo for the provided cell. The cell cannot be referenced by any Shard record.
DeleteCellInfo <cell>
<cell>
argument is required for the <DeleteCellInfo>
command This error occurs if the command is not called with exactly one argument.Prints a JSON representation of the CellInfo for a cell.
GetCellInfo <cell>
<cell>
argument is required for the <GetCellInfo>
command This error occurs if the command is not called with exactly one argument.Lists all the cells for which we have a CellInfo object, meaning we have a local topology service registered.
GetCellInfoNames
<GetCellInfoNames>
command takes no parameter This error occurs if the command is not called with exactly 0 arguments.Updates the content of a CellInfo with the provided parameters. If a value is empty, it is not updated. The CellInfo will be created if it doesn't exist.
UpdateCellInfo [-server_address <addr>] [-root <root>] <cell>
| Name | Type | Definition |
|---|---|---|
| root | string | The root path the topology server is using for that cell. |
| server_address | string | The address the topology server is using for that cell. |
<addr>
– Required.<cell>
– Required. A cell is a location for a service. Generally, a cell resides in only one cluster. In Vitess, the terms "cell" and "data center" are interchangeable. The argument value is a string that does not contain whitespace.<cell>
argument is required for the <UpdateCellInfo>
command This error occurs if the command is not called with exactly one argument.Lists all tablets in an awk-friendly way.
ListAllTablets <cell name>
<cell name>
– Required. A cell is a location for a service. Generally, a cell resides in only one cluster. In Vitess, the terms "cell" and "data center" are interchangeable. The argument value is a string that does not contain whitespace.<cell name>
argument is required for the <ListAllTablets>
command This error occurs if the command is not called with exactly one argument.Lists specified tablets in an awk-friendly way.
ListTablets <tablet alias> ...
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
. To specify multiple values for this argument, separate individual values with a space.<tablet alias>
argument is required for the <ListTablets>
command This error occurs if the command is not called with at least one argument.Validates that all nodes reachable from the global replication graph and that all tablets in all discoverable cells are consistent.
Validate [-ping-tablets]
| Name | Type | Definition |
|---|---|---|
| ping-tablets | Boolean | Indicates whether all tablets should be pinged during the validation process |
Creates the specified keyspace.
CreateKeyspace [-sharding_column_name=name] [-sharding_column_type=type] [-served_from=tablettype1:ks1,tablettype2,ks2,...] [-force] <keyspace name>
| Name | Type | Definition |
|---|---|---|
| force | Boolean | Proceeds even if the keyspace already exists |
| served_from | string | Specifies a comma-separated list of dbtype:keyspace pairs used to serve traffic |
| sharding_column_name | string | Specifies the column to use for sharding operations |
| sharding_column_type | string | Specifies the type of the column to use for sharding operations |
<keyspace name>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<keyspace name>
argument is required for the <CreateKeyspace>
command This error occurs if the command is not called with exactly one argument.Deletes the specified keyspace. In recursive mode, it also recursively deletes all shards in the keyspace. Otherwise, there must be no shards left in the keyspace.
DeleteKeyspace [-recursive] <keyspace>
| Name | Type | Definition |
|---|---|---|
| recursive | Boolean | Also recursively delete all shards in the keyspace. |
<keyspace>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<keyspace>
argument for <DeleteKeyspace>
This error occurs if the command is not called with exactly one argument.Displays all of the shards in the specified keyspace.
FindAllShardsInKeyspace <keyspace>
<keyspace>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<keyspace>
argument is required for the <FindAllShardsInKeyspace>
command This error occurs if the command is not called with exactly one argument.Outputs a JSON structure that contains information about the Keyspace.
GetKeyspace <keyspace>
<keyspace>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<keyspace>
argument is required for the <GetKeyspace>
command This error occurs if the command is not called with exactly one argument.Outputs a sorted list of all keyspaces.
Makes the <destination keyspace/shard> serve the given type. This command also rebuilds the serving graph.
MigrateServedFrom [-cells=c1,c2,...] [-reverse] <destination keyspace/shard> <served tablet type>
| Name | Type | Definition |
|---|---|---|
| cells | string | Specifies a comma-separated list of cells to update |
| filtered_replication_wait_time | Duration | Specifies the maximum time to wait, in seconds, for filtered replication to catch up on master migrations |
| reverse | Boolean | Moves the served tablet type backward instead of forward. Use in case of trouble |
<destination keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<served tablet type>
– Required. The vttablet's role. Valid values are:
backup
– A slaved copy of data that is offline to queries other than for backup purposesbatch
– A slaved copy of data for OLAP load patterns (typically for MapReduce jobs)drained
– A tablet that is reserved for a background process. For example, a tablet used by a vtworker process, where the tablet is likely lagging in replication.experimental
– A slaved copy of data that is ready but not serving query traffic. The value indicates a special characteristic of the tablet that indicates the tablet should not be considered a potential master. Vitess also does not worry about lag for experimental tablets when reparenting.master
– A primary copy of datardonly
– A slaved copy of data for OLAP load patternsreplica
– A slaved copy of data ready to be promoted to masterrestore
– A tablet that is restoring from a snapshot. Typically, this happens at tablet startup, then it goes to its right state.schema_apply
– A slaved copy of data that had been serving query traffic but that is now applying a schema change. Following the change, the tablet will revert to its serving type.snapshot_source
– A slaved copy of data where mysqld is not running and where Vitess is serving data files to clone slaves. Use this command to enter this mode: vtctl Snapshot -server-mode ...Use this command to exit this mode:
vtctl SnapshotSourceEnd ...
spare
– A slaved copy of data that is ready but not serving query traffic. The data could be a potential master tablet.<destination keyspace/shard>
and <served tablet type>
arguments are both required for the <MigrateServedFrom>
command This error occurs if the command is not called with exactly 2 arguments.Migrates a serving type from the source shard to the shards that it replicates to. This command also rebuilds the serving graph. The <keyspace/shard> argument can specify any of the shards involved in the migration.
MigrateServedTypes [-cells=c1,c2,...] [-reverse] [-skip-refresh-state] <keyspace/shard> <served tablet type>
| Name | Type | Definition |
|---|---|---|
| cells | string | Specifies a comma-separated list of cells to update |
| filtered_replication_wait_time | Duration | Specifies the maximum time to wait, in seconds, for filtered replication to catch up on master migrations |
| reverse | Boolean | Moves the served tablet type backward instead of forward. Use in case of trouble |
| skip-refresh-state | Boolean | Skips refreshing the state of the source tablets after the migration, meaning that the refresh will need to be done manually, replica and rdonly only) |
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<served tablet type>
– Required. The vttablet's role. Valid values are:
backup
– A slaved copy of data that is offline to queries other than for backup purposesbatch
– A slaved copy of data for OLAP load patterns (typically for MapReduce jobs)drained
– A tablet that is reserved for a background process. For example, a tablet used by a vtworker process, where the tablet is likely lagging in replication.experimental
– A slaved copy of data that is ready but not serving query traffic. The value indicates a special characteristic of the tablet that indicates the tablet should not be considered a potential master. Vitess also does not worry about lag for experimental tablets when reparenting.master
– A primary copy of datardonly
– A slaved copy of data for OLAP load patternsreplica
– A slaved copy of data ready to be promoted to masterrestore
– A tablet that is restoring from a snapshot. Typically, this happens at tablet startup, then it goes to its right state.schema_apply
– A slaved copy of data that had been serving query traffic but that is now applying a schema change. Following the change, the tablet will revert to its serving type.snapshot_source
– A slaved copy of data where mysqld is not running and where Vitess is serving data files to clone slaves. Use this command to enter this mode: vtctl Snapshot -server-mode ...Use this command to exit this mode:
vtctl SnapshotSourceEnd ...
spare
– A slaved copy of data that is ready but not serving query traffic. The data could be a potential master tablet.<source keyspace/shard>
and <served tablet type>
arguments are both required for the <MigrateServedTypes>
command This error occurs if the command is not called with exactly 2 arguments.<skip-refresh-state>
flag can only be specified for non-master migrationsRebuilds the serving data for the keyspace. This command may trigger an update to all connected clients.
RebuildKeyspaceGraph [-cells=c1,c2,...] <keyspace> ...
| Name | Type | Definition |
|---|---|---|
| cells | string | Specifies a comma-separated list of cells to update |
<keyspace>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace. To specify multiple values for this argument, separate individual values with a space.<keyspace>
argument must be used to specify at least one keyspace when calling the <RebuildKeyspaceGraph>
command This error occurs if the command is not called with at least one argument.Removes the cell from the Cells list for all shards in the keyspace, and the SrvKeyspace for that keyspace in that cell.
RemoveKeyspaceCell [-force] [-recursive] <keyspace> <cell>
| Name | Type | Definition |
|---|---|---|
| force | Boolean | Proceeds even if the cell's topology server cannot be reached. The assumption is that you turned down the entire cell, and just need to update the global topo data. |
| recursive | Boolean | Also delete all tablets in that cell belonging to the specified keyspace. |
<keyspace>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<cell>
– Required. A cell is a location for a service. Generally, a cell resides in only one cluster. In Vitess, the terms "cell" and "data center" are interchangeable. The argument value is a string that does not contain whitespace.<keyspace>
and <cell>
arguments are required for the <RemoveKeyspaceCell>
command This error occurs if the command is not called with exactly 2 arguments.Changes the ServedFromMap manually. This command is intended for emergency fixes. This field is automatically set when you call the MigrateServedFrom command. This command does not rebuild the serving graph.
SetKeyspaceServedFrom [-source=<source keyspace name>] [-remove] [-cells=c1,c2,...] <keyspace name> <tablet type>
| Name | Type | Definition |
|---|---|---|
| cells | string | Specifies a comma-separated list of cells to affect |
| remove | Boolean | Indicates whether to add (default) or remove the served from record |
| source | string | Specifies the source keyspace name |
<keyspace name>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<tablet type>
– Required. The vttablet's role. Valid values are:
backup
– A slaved copy of data that is offline to queries other than for backup purposesbatch
– A slaved copy of data for OLAP load patterns (typically for MapReduce jobs)drained
– A tablet that is reserved for a background process. For example, a tablet used by a vtworker process, where the tablet is likely lagging in replication.experimental
– A slaved copy of data that is ready but not serving query traffic. The value indicates a special characteristic of the tablet that indicates the tablet should not be considered a potential master. Vitess also does not worry about lag for experimental tablets when reparenting.master
– A primary copy of datardonly
– A slaved copy of data for OLAP load patternsreplica
– A slaved copy of data ready to be promoted to masterrestore
– A tablet that is restoring from a snapshot. Typically, this happens at tablet startup, then it goes to its right state.schema_apply
– A slaved copy of data that had been serving query traffic but that is now applying a schema change. Following the change, the tablet will revert to its serving type.snapshot_source
– A slaved copy of data where mysqld is not running and where Vitess is serving data files to clone slaves. Use this command to enter this mode: vtctl Snapshot -server-mode ...Use this command to exit this mode:
vtctl SnapshotSourceEnd ...
spare
– A slaved copy of data that is ready but not serving query traffic. The data could be a potential master tablet.<keyspace name>
and <tablet type>
arguments are required for the <SetKeyspaceServedFrom>
command This error occurs if the command is not called with exactly 2 arguments.Updates the sharding information for a keyspace.
SetKeyspaceShardingInfo [-force] <keyspace name> [<column name>] [<column type>]
| Name | Type | Definition |
|---|---|---|
| force | Boolean | Updates fields even if they are already set. Use caution before calling this command. |
<keyspace name>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<column name>
– Optional.<column type>
– Optional.<keyspace name>
argument is required for the <SetKeyspaceShardingInfo>
command. The <column name>
and <column type>
arguments are both optional This error occurs if the command is not called with between 1 and 3 arguments.<column name>
and <column type>
must be set, or both must be unsetValidates that all nodes reachable from the specified keyspace are consistent.
ValidateKeyspace [-ping-tablets] <keyspace name>
| Name | Type | Definition |
|---|---|---|
| ping-tablets | Boolean | Specifies whether all tablets will be pinged during the validation process |
<keyspace name>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<keyspace name>
argument is required for the <ValidateKeyspace>
command This error occurs if the command is not called with exactly one argument.Blocks until no new queries were observed on all tablets with the given tablet type in the specifed keyspace. This can be used as sanity check to ensure that the tablets were drained after running vtctl MigrateServedTypes and vtgate is no longer using them. If -timeout is set, it fails when the timeout is reached.
WaitForDrain [-timeout <duration>] [-retry_delay <duration>] [-initial_wait <duration>] <keyspace/shard> <served tablet type>
| Name | Type | Definition |
|---|---|---|
| cells | string | Specifies a comma-separated list of cells to look for tablets |
| initial_wait | Duration | Time to wait for all tablets to check in |
| retry_delay | Duration | Time to wait between two checks |
| timeout | Duration | Timeout after which the command fails |
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<served tablet type>
– Required. The vttablet's role. Valid values are:
backup
– A slaved copy of data that is offline to queries other than for backup purposesbatch
– A slaved copy of data for OLAP load patterns (typically for MapReduce jobs)drained
– A tablet that is reserved for a background process. For example, a tablet used by a vtworker process, where the tablet is likely lagging in replication.experimental
– A slaved copy of data that is ready but not serving query traffic. The value indicates a special characteristic of the tablet that indicates the tablet should not be considered a potential master. Vitess also does not worry about lag for experimental tablets when reparenting.master
– A primary copy of datardonly
– A slaved copy of data for OLAP load patternsreplica
– A slaved copy of data ready to be promoted to masterrestore
– A tablet that is restoring from a snapshot. Typically, this happens at tablet startup, then it goes to its right state.schema_apply
– A slaved copy of data that had been serving query traffic but that is now applying a schema change. Following the change, the tablet will revert to its serving type.snapshot_source
– A slaved copy of data where mysqld is not running and where Vitess is serving data files to clone slaves. Use this command to enter this mode: vtctl Snapshot -server-mode ...Use this command to exit this mode:
vtctl SnapshotSourceEnd ...
spare
– A slaved copy of data that is ready but not serving query traffic. The data could be a potential master tablet.<keyspace/shard>
and <tablet type>
arguments are both required for the <WaitForDrain>
command This error occurs if the command is not called with exactly 2 arguments.Executes the given SQL query with the provided bound variables against the vtgate server.
VtGateExecute -server <vtgate> [-bind_variables <JSON map>] [-keyspace <default keyspace>] [-tablet_type <tablet type>] [-options <proto text options>] [-json] <sql>
| Name | Type | Definition |
|---|---|---|
| json | Boolean | Output JSON instead of human-readable table |
| options | string | execute options values as a text encoded proto of the ExecuteOptions structure |
| server | string | VtGate server to connect to |
| target | string | keyspace:shard@tablet_type |
<vtgate>
– Required.<sql>
– Required.<sql>
argument is required for the <VtGateExecute>
command This error occurs if the command is not called with exactly one argument.Executes the given SQL query with the provided bound variables against the vtgate server. It is routed to the shards that contain the provided keyspace ids.
VtGateExecuteKeyspaceIds -server <vtgate> -keyspace <keyspace> -keyspace_ids <ks1 in hex>,<k2 in hex>,... [-bind_variables <JSON map>] [-tablet_type <tablet type>] [-options <proto text options>] [-json] <sql>
| Name | Type | Definition |
|---|---|---|
| json | Boolean | Output JSON instead of human-readable table |
| keyspace | string | keyspace to send query to |
| keyspace_ids | string | comma-separated list of keyspace ids (in hex) that will map into shards to send query to |
| options | string | execute options values as a text encoded proto of the ExecuteOptions structure |
| server | string | VtGate server to connect to |
| tablet_type | string | tablet type to query |
<vtgate>
– Required.<keyspace>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<ks1 in hex>
– Required. To specify multiple values for this argument, separate individual values with a comma.<sql>
– Required.<sql>
argument is required for the <VtGateExecuteKeyspaceIds>
command This error occurs if the command is not called with exactly one argument.Executes the given SQL query with the provided bound variables against the vtgate server. It is routed to the provided shards.
VtGateExecuteShards -server <vtgate> -keyspace <keyspace> -shards <shard0>,<shard1>,... [-bind_variables <JSON map>] [-tablet_type <tablet type>] [-options <proto text options>] [-json] <sql>
| Name | Type | Definition |
|---|---|---|
| json | Boolean | Output JSON instead of human-readable table |
| keyspace | string | keyspace to send query to |
| options | string | execute options values as a text encoded proto of the ExecuteOptions structure |
| server | string | VtGate server to connect to |
| shards | string | comma-separated list of shards to send query to |
| tablet_type | string | tablet type to query |
<vtgate>
– Required.<keyspace>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<shard>
– Required. The name of a shard. The argument value is typically in the format <range start>-<range end>
. To specify multiple values for this argument, separate individual values with a comma.<sql>
– Required.<sql>
argument is required for the <VtGateExecuteShards>
command This error occurs if the command is not called with exactly one argument.Executes the SplitQuery computation for the given SQL query with the provided bound variables against the vtgate server (this is the base query for Map-Reduce workloads, and is provided here for debug / test purposes).
VtGateSplitQuery -server <vtgate> -keyspace <keyspace> [-split_column <split_column>] -split_count <split_count> [-bind_variables <JSON map>] <sql>
| Name | Type | Definition |
|---|---|---|
| algorithm | string | The algorithm to |
| keyspace | string | keyspace to send query to |
| server | string | VtGate server to connect to |
| split_count | Int64 | number of splits to generate. |
<vtgate>
– Required.<keyspace>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<split_count>
– Required.<sql>
– Required.<sql>
argument is required for the <VtGateSplitQuery>
command This error occurs if the command is not called with exactly one argument.<split_count>
or num_rows_per_query_part<algorithm>
: %vStarts a transaction on the provided server.
VtTabletBegin [-username <TableACL user>] <tablet alias>
| Name | Type | Definition |
|---|---|---|
| username | string | If set, value is set as immediate caller id in the request and used by vttablet for TableACL check |
<TableACL user>
– Required.<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<tablet_alias>
argument is required for the <VtTabletBegin>
command This error occurs if the command is not called with exactly one argument.Commits the given transaction on the provided server.
VtTabletCommit [-username <TableACL user>] <transaction_id>
| Name | Type | Definition |
|---|---|---|
| username | string | If set, value is set as immediate caller id in the request and used by vttablet for TableACL check |
<TableACL user>
– Required.<transaction_id>
– Required.<tablet_alias>
and <transaction_id>
arguments are required for the <VtTabletCommit>
command This error occurs if the command is not called with exactly 2 arguments.Executes the given query on the given tablet. -transaction_id is optional. Use VtTabletBegin to start a transaction.
VtTabletExecute [-username <TableACL user>] [-transaction_id <transaction_id>] [-options <proto text options>] [-json] <tablet alias> <sql>
| Name | Type | Definition |
|---|---|---|
| json | Boolean | Output JSON instead of human-readable table |
| options | string | execute options values as a text encoded proto of the ExecuteOptions structure |
| transaction_id | Int | transaction id to use, if inside a transaction. |
| username | string | If set, value is set as immediate caller id in the request and used by vttablet for TableACL check |
<TableACL user>
– Required.<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<sql>
– Required.<tablet_alias>
and <sql>
arguments are required for the <VtTabletExecute>
command This error occurs if the command is not called with exactly 2 arguments.Rollbacks the given transaction on the provided server.
VtTabletRollback [-username <TableACL user>] <tablet alias> <transaction_id>
| Name | Type | Definition |
|---|---|---|
| username | string | If set, value is set as immediate caller id in the request and used by vttablet for TableACL check |
<TableACL user>
– Required.<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<transaction_id>
– Required.<tablet_alias>
and <transaction_id>
arguments are required for the <VtTabletRollback>
command This error occurs if the command is not called with exactly 2 arguments.Executes the StreamHealth streaming query to a vttablet process. Will stop after getting <count> answers.
VtTabletStreamHealth [-count <count, default 1>] <tablet alias>
| Name | Type | Definition |
|---|---|---|
| count | Int | number of responses to wait for |
<count default 1>
– Required.<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<tablet alias>
argument is required for the <VtTabletStreamHealth>
command This error occurs if the command is not called with exactly one argument.Executes the UpdateStream streaming query to a vttablet process. Will stop after getting <count> answers.
VtTabletUpdateStream [-count <count, default 1>] [-position <position>] [-timestamp <timestamp>] <tablet alias>
| Name | Type | Definition |
|---|---|---|
| count | Int | number of responses to wait for |
| position | string | position to start the stream from |
| timestamp | Int | timestamp to start the stream from |
<count default 1>
– Required.<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<tablet alias>
argument is required for the <VtTabletUpdateStream>
command This error occurs if the command is not called with exactly one argument.Outputs a JSON structure that contains information about the ShardReplication.
GetShardReplication <cell> <keyspace/shard>
<cell>
– Required. A cell is a location for a service. Generally, a cell resides in only one cluster. In Vitess, the terms "cell" and "data center" are interchangeable. The argument value is a string that does not contain whitespace.<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<cell>
and <keyspace/shard>
arguments are required for the <GetShardReplication>
command This error occurs if the command is not called with exactly 2 arguments.Returns the current configuration of the MaxReplicationLag module. If no throttler name is specified, the configuration of all throttlers will be returned.
GetThrottlerConfiguration -server <vtworker or vttablet> [<throttler name>]
| Name | Type | Definition |
|---|---|---|
| server | string | vtworker or vttablet to connect to |
<vtworker or vttablet>
– Required.<throttler name>
– Optional.<GetThrottlerConfiguration>
command accepts only <throttler name>
as optional positional parameter This error occurs if the command is not called with more than 1 arguments.<server>
'%v': %v<server>
'%v': %vResets the current configuration of the MaxReplicationLag module. If no throttler name is specified, the configuration of all throttlers will be reset.
ResetThrottlerConfiguration -server <vtworker or vttablet> [<throttler name>]
| Name | Type | Definition |
|---|---|---|
| server | string | vtworker or vttablet to connect to |
<vtworker or vttablet>
– Required.<throttler name>
– Optional.<ResetThrottlerConfiguration>
command accepts only <throttler name>
as optional positional parameter This error occurs if the command is not called with more than 1 arguments.<server>
'%v': %v<server>
'%v': %vReturns the current max rate of all active resharding throttlers on the server.
ThrottlerMaxRates -server <vtworker or vttablet>
| Name | Type | Definition |
|---|---|---|
| server | string | vtworker or vttablet to connect to |
<vtworker or vttablet>
– Required.<server>
'%v': %v<server>
'%v': %vSets the max rate for all active resharding throttlers on the server.
ThrottlerSetMaxRate -server <vtworker or vttablet> <rate>
| Name | Type | Definition |
|---|---|---|
| server | string | vtworker or vttablet to connect to |
<vtworker or vttablet>
– Required.<rate>
– Required.<rate>
argument is required for the <ThrottlerSetMaxRate>
command This error occurs if the command is not called with exactly one argument.<server>
'%v': %v<server>
'%v': %vUpdates the configuration of the MaxReplicationLag module. The configuration must be specified as protobuf text. If a field is omitted or has a zero value, it will be ignored unless -copy_zero_values is specified. If no throttler name is specified, all throttlers will be updated.
UpdateThrottlerConfiguration `-server <vtworker or vttablet> [-copy_zero_values] "<configuration protobuf text>" [<throttler name>]`
| Name | Type | Definition |
|---|---|---|
| copy_zero_values | Boolean | If true, fields with zero values will be copied as well |
| server | string | vtworker or vttablet to connect to |
<vtworker or vttablet>
– Required.<throttler name>
– Optional.<server>
'%v': %v<server>
'%v': %vApplies the schema change to the specified keyspace on every master, running in parallel on all shards. The changes are then propagated to slaves via replication. If -allow_long_unavailability is set, schema changes affecting a large number of rows (and possibly incurring a longer period of unavailability) will not be rejected.
ApplySchema [-allow_long_unavailability] [-wait_slave_timeout=10s] {-sql=<sql> || -sql-file=<filename>} <keyspace>
| Name | Type | Definition |
|---|---|---|
| allow_long_unavailability | Boolean | Allow large schema changes which incur a longer unavailability of the database. |
| sql | string | A list of semicolon-delimited SQL commands |
| sql-file | string | Identifies the file that contains the SQL commands |
| wait_slave_timeout | Duration | The amount of time to wait for slaves to receive the schema change via replication. |
<keyspace>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<keyspace>
argument is required for the command<ApplySchema>
command This error occurs if the command is not called with exactly one argument.Applies the VTGate routing schema to the provided keyspace. Shows the result after application.
ApplyVSchema {-vschema=<vschema> || -vschema_file=<vschema file>} [-cells=c1,c2,...] [-skip_rebuild] <keyspace>
| Name | Type | Definition |
|---|---|---|
| cells | string | If specified, limits the rebuild to the cells, after upload. Ignored if skipRebuild is set. |
| skip_rebuild | Boolean | If set, do no rebuild the SrvSchema objects. |
| vschema | string | Identifies the VTGate routing schema |
| vschema_file | string | Identifies the VTGate routing schema file |
<keyspace>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<keyspace>
argument is required for the <ApplyVSchema>
command This error occurs if the command is not called with exactly one argument.<vschema>
or <vschema>
File flag must be specified when calling the <ApplyVSchema>
commandCopies the schema from a source shard's master (or a specific tablet) to a destination shard. The schema is applied directly on the master of the destination shard, and it is propagated to the replicas through binlogs.
CopySchemaShard [-tables=<table1>,<table2>,...] [-exclude_tables=<table1>,<table2>,...] [-include-views] [-wait_slave_timeout=10s] {<source keyspace/shard> || <source tablet alias>} <destination keyspace/shard>
| Name | Type | Definition |
|---|---|---|
| exclude_tables | string | Specifies a comma-separated list of tables to exclude. Each is either an exact match, or a regular expression of the form /regexp/ |
| include-views | Boolean | Includes views in the output |
| tables | string | Specifies a comma-separated list of tables to copy. Each is either an exact match, or a regular expression of the form /regexp/ |
| wait_slave_timeout | Duration | The amount of time to wait for slaves to receive the schema change via replication. |
<source tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<destination keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<source keyspace/shard>
and <destination keyspace/shard>
arguments are both required for the <CopySchemaShard>
command. Instead of the <source keyspace/shard>
argument, you can also specify <tablet alias>
which refers to a specific tablet of the shard in the source keyspace This error occurs if the command is not called with exactly 2 arguments.Displays the permissions for a tablet.
GetPermissions <tablet alias>
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<tablet alias>
argument is required for the <GetPermissions>
command This error occurs if the command is not called with exactly one argument.Displays the full schema for a tablet, or just the schema for the specified tables in that tablet.
GetSchema [-tables=<table1>,<table2>,...] [-exclude_tables=<table1>,<table2>,...] [-include-views] <tablet alias>
| Name | Type | Definition |
|---|---|---|
| exclude_tables | string | Specifies a comma-separated list of tables to exclude. Each is either an exact match, or a regular expression of the form /regexp/ |
| include-views | Boolean | Includes views in the output |
| table_names_only | Boolean | Only displays table names that match |
| tables | string | Specifies a comma-separated list of tables for which we should gather information. Each is either an exact match, or a regular expression of the form /regexp/ |
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<tablet alias>
argument is required for the <GetSchema>
command This error occurs if the command is not called with exactly one argument.Displays the VTGate routing schema.
GetVSchema <keyspace>
<keyspace>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<keyspace>
argument is required for the <GetVSchema>
command This error occurs if the command is not called with exactly one argument.Rebuilds the cell-specific SrvVSchema from the global VSchema objects in the provided cells (or all cells if none provided).
RebuildVSchemaGraph [-cells=c1,c2,...]
| Name | Type | Definition |
|---|---|---|
| cells | string | Specifies a comma-separated list of cells to look for tablets |
<RebuildVSchemaGraph>
doesn't take any arguments This error occurs if the command is not called with exactly 0 arguments.Reloads the schema on a remote tablet.
ReloadSchema <tablet alias>
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<tablet alias>
argument is required for the <ReloadSchema>
command This error occurs if the command is not called with exactly one argument.Reloads the schema on all the tablets in a keyspace.
ReloadSchemaKeyspace [-concurrency=10] [-include_master=false] <keyspace>
| Name | Type | Definition |
|---|---|---|
| concurrency | Int | How many tablets to reload in parallel |
| include_master | Boolean | Include the master tablet(s) |
<keyspace>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<keyspace>
argument is required for the <ReloadSchemaKeyspace>
command This error occurs if the command is not called with exactly one argument.Reloads the schema on all the tablets in a shard.
ReloadSchemaShard [-concurrency=10] [-include_master=false] <keyspace/shard>
| Name | Type | Definition |
|---|---|---|
| concurrency | Int | How many tablets to reload in parallel |
| include_master | Boolean | Include the master tablet |
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<keyspace/shard>
argument is required for the <ReloadSchemaShard>
command This error occurs if the command is not called with exactly one argument.Validates that the master permissions from shard 0 match those of all of the other tablets in the keyspace.
ValidatePermissionsKeyspace <keyspace name>
<keyspace name>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<keyspace name>
argument is required for the <ValidatePermissionsKeyspace>
command This error occurs if the command is not called with exactly one argument.Validates that the master permissions match all the slaves.
ValidatePermissionsShard <keyspace/shard>
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<keyspace/shard>
argument is required for the <ValidatePermissionsShard>
command This error occurs if the command is not called with exactly one argument.Validates that the master schema from shard 0 matches the schema on all of the other tablets in the keyspace.
ValidateSchemaKeyspace [-exclude_tables=''] [-include-views] <keyspace name>
| Name | Type | Definition |
|---|---|---|
| exclude_tables | string | Specifies a comma-separated list of tables to exclude. Each is either an exact match, or a regular expression of the form /regexp/ |
| include-views | Boolean | Includes views in the validation |
<keyspace name>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<keyspace name>
argument is required for the <ValidateSchemaKeyspace>
command This error occurs if the command is not called with exactly one argument.Validates that the master schema matches all of the slaves.
ValidateSchemaShard [-exclude_tables=''] [-include-views] <keyspace/shard>
| Name | Type | Definition |
|---|---|---|
| exclude_tables | string | Specifies a comma-separated list of tables to exclude. Each is either an exact match, or a regular expression of the form /regexp/ |
| include-views | Boolean | Includes views in the validation |
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<keyspace/shard>
argument is required for the <ValidateSchemaShard>
command This error occurs if the command is not called with exactly one argument.Validates that the master version from shard 0 matches all of the other tablets in the keyspace.
ValidateVersionKeyspace <keyspace name>
<keyspace name>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<keyspace name>
argument is required for the <ValidateVersionKeyspace>
command This error occurs if the command is not called with exactly one argument.Validates that the master version matches all of the slaves.
ValidateVersionShard <keyspace/shard>
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<keyspace/shard>
argument is required for the <ValidateVersionShard>
command This error occurs if the command is not called with exactly one argument.Outputs a JSON structure that contains information about the SrvKeyspace.
GetSrvKeyspace <cell> <keyspace>
<cell>
– Required. A cell is a location for a service. Generally, a cell resides in only one cluster. In Vitess, the terms "cell" and "data center" are interchangeable. The argument value is a string that does not contain whitespace.<keyspace>
– Required. The name of a sharded database that contains one or more tables. Vitess distributes keyspace shards into multiple machines and provides an SQL interface to query the data. The argument value must be a string that does not contain whitespace.<cell>
and <keyspace>
arguments are required for the <GetSrvKeyspace>
command This error occurs if the command is not called with exactly 2 arguments.Outputs a list of keyspace names.
GetSrvKeyspaceNames <cell>
<cell>
– Required. A cell is a location for a service. Generally, a cell resides in only one cluster. In Vitess, the terms "cell" and "data center" are interchangeable. The argument value is a string that does not contain whitespace.<cell>
argument is required for the <GetSrvKeyspaceNames>
command This error occurs if the command is not called with exactly one argument.Outputs a JSON structure that contains information about the SrvVSchema.
GetSrvVSchema <cell>
<cell>
– Required. A cell is a location for a service. Generally, a cell resides in only one cluster. In Vitess, the terms "cell" and "data center" are interchangeable. The argument value is a string that does not contain whitespace.<cell>
argument is required for the <GetSrvVSchema>
command This error occurs if the command is not called with exactly one argument.Creates the specified shard.
CreateShard [-force] [-parent] <keyspace/shard>
| Name | Type | Definition |
|---|---|---|
| force | Boolean | Proceeds with the command even if the keyspace already exists |
| parent | Boolean | Creates the parent keyspace if it doesn't already exist |
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<keyspace/shard>
argument is required for the <CreateShard>
command This error occurs if the command is not called with exactly one argument.Deletes the specified shard(s). In recursive mode, it also deletes all tablets belonging to the shard. Otherwise, there must be no tablets left in the shard.
DeleteShard [-recursive] [-even_if_serving] <keyspace/shard> ...
| Name | Type | Definition |
|---|---|---|
| even_if_serving | Boolean | Remove the shard even if it is serving. Use with caution. |
| recursive | Boolean | Also delete all tablets belonging to the shard. |
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
. To specify multiple values for this argument, separate individual values with a space.<keyspace/shard>
argument must be used to identify at least one keyspace and shard when calling the <DeleteShard>
command This error occurs if the command is not called with at least one argument.Reparents the shard to the new master. Assumes the old master is dead and not responsding.
EmergencyReparentShard -keyspace_shard=<keyspace/shard> -new_master=<tablet alias>
| Name | Type | Definition |
|---|---|---|
| keyspace_shard | string | keyspace/shard of the shard that needs to be reparented |
| new_master | string | alias of a tablet that should be the new master |
| wait_slave_timeout | Duration | time to wait for slaves to catch up in reparenting |
<EmergencyReparentShard>
requires -keyspace_shard=<keyspace/shard>
-new_master=<tablet alias>
This error occurs if the command is not called with exactly 0 arguments.<new_master>
for action <EmergencyReparentShard>
at the same timeOutputs a JSON structure that contains information about the Shard.
GetShard <keyspace/shard>
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<keyspace/shard>
argument is required for the <GetShard>
command This error occurs if the command is not called with exactly one argument.Sets the initial master for a shard. Will make all other tablets in the shard slaves of the provided master. WARNING: this could cause data loss on an already replicating shard. PlannedReparentShard or EmergencyReparentShard should be used instead.
InitShardMaster [-force] [-wait_slave_timeout=<duration>] <keyspace/shard> <tablet alias>
| Name | Type | Definition |
|---|---|---|
| force | Boolean | will force the reparent even if the provided tablet is not a master or the shard master |
| wait_slave_timeout | Duration | time to wait for slaves to catch up in reparenting |
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<InitShardMaster>
requires <keyspace/shard>
<tablet alias>
This error occurs if the command is not called with exactly 2 arguments.Lists all the backups for a shard.
ListBackups <keyspace/shard>
<ListBackups>
requires <keyspace/shard>
This error occurs if the command is not called with exactly one argument.Lists all tablets in the specified shard.
ListShardTablets <keyspace/shard>
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<keyspace/shard>
argument is required for the <ListShardTablets>
command This error occurs if the command is not called with exactly one argument.Reparents the shard to the new master, or away from old master. Both old and new master need to be up and running.
PlannedReparentShard -keyspace_shard=<keyspace/shard> [-new_master=<tablet alias>] [-avoid_master=<tablet alias>]
| Name | Type | Definition |
|---|---|---|
| avoid_master | string | alias of a tablet that should not be the master, i.e. reparent to any other tablet if this one is the master |
| keyspace_shard | string | keyspace/shard of the shard that needs to be reparented |
| new_master | string | alias of a tablet that should be the new master |
| wait_slave_timeout | Duration | time to wait for slaves to catch up in reparenting |
<PlannedReparentShard>
requires -keyspace_shard=<keyspace/shard>
[-new_master=<tablet alias>
] [-avoid_master=<tablet alias>
] This error occurs if the command is not called with exactly 0 arguments.<keyspace_shard>
and -<new_master>
for action <PlannedReparentShard>
at the same timeRemoves a backup for the BackupStorage.
RemoveBackup <keyspace/shard> <backup name>
<backup name>
– Required.<RemoveBackup>
requires <keyspace/shard>
<backup name>
This error occurs if the command is not called with exactly 2 arguments.Removes the cell from the shard's Cells list.
RemoveShardCell [-force] [-recursive] <keyspace/shard> <cell>
| Name | Type | Definition |
|---|---|---|
| force | Boolean | Proceeds even if the cell's topology server cannot be reached. The assumption is that you turned down the entire cell, and just need to update the global topo data. |
| recursive | Boolean | Also delete all tablets in that cell belonging to the specified shard. |
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<cell>
– Required. A cell is a location for a service. Generally, a cell resides in only one cluster. In Vitess, the terms "cell" and "data center" are interchangeable. The argument value is a string that does not contain whitespace.<keyspace/shard>
and <cell>
arguments are required for the <RemoveShardCell>
command This error occurs if the command is not called with exactly 2 arguments.Add or remove served type to/from a shard. This is meant as an emergency function. It does not rebuild any serving graph i.e. does not run 'RebuildKeyspaceGraph'.
SetShardServedTypes [--cells=c1,c2,...] [--remove] <keyspace/shard> <served tablet type>
| Name | Type | Definition |
|---|---|---|
| cells | string | Specifies a comma-separated list of cells to update |
| remove | Boolean | Removes the served tablet type |
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<served tablet type>
– Required. The vttablet's role. Valid values are:
backup
– A slaved copy of data that is offline to queries other than for backup purposesbatch
– A slaved copy of data for OLAP load patterns (typically for MapReduce jobs)drained
– A tablet that is reserved for a background process. For example, a tablet used by a vtworker process, where the tablet is likely lagging in replication.experimental
– A slaved copy of data that is ready but not serving query traffic. The value indicates a special characteristic of the tablet that indicates the tablet should not be considered a potential master. Vitess also does not worry about lag for experimental tablets when reparenting.master
– A primary copy of datardonly
– A slaved copy of data for OLAP load patternsreplica
– A slaved copy of data ready to be promoted to masterrestore
– A tablet that is restoring from a snapshot. Typically, this happens at tablet startup, then it goes to its right state.schema_apply
– A slaved copy of data that had been serving query traffic but that is now applying a schema change. Following the change, the tablet will revert to its serving type.snapshot_source
– A slaved copy of data where mysqld is not running and where Vitess is serving data files to clone slaves. Use this command to enter this mode: vtctl Snapshot -server-mode ...Use this command to exit this mode:
vtctl SnapshotSourceEnd ...
spare
– A slaved copy of data that is ready but not serving query traffic. The data could be a potential master tablet.<keyspace/shard>
and <served tablet type>
arguments are both required for the <SetShardServedTypes>
command This error occurs if the command is not called with exactly 2 arguments.Sets the TabletControl record for a shard and type. Only use this for an emergency fix or after a finished vertical split. The MigrateServedFrom and MigrateServedType commands set this field appropriately already. Always specify the blacklisted_tables flag for vertical splits, but never for horizontal splits.
To set the DisableQueryServiceFlag, keep 'blacklisted_tables' empty, and set 'disable_query_service' to true or false. Useful to fix horizontal splits gone wrong.
To change the blacklisted tables list, specify the 'blacklisted_tables' parameter with the new list. Useful to fix tables that are being blocked after a vertical split.
To just remove the ShardTabletControl entirely, use the 'remove' flag, useful after a vertical split is finished to remove serving restrictions.
SetShardTabletControl [--cells=c1,c2,...] [--blacklisted_tables=t1,t2,...] [--remove] [--disable_query_service] <keyspace/shard> <tablet type>
| Name | Type | Definition |
|---|---|---|
| blacklisted_tables | string | Specifies a comma-separated list of tables to blacklist (used for vertical split). Each is either an exact match, or a regular expression of the form '/regexp/'. |
| cells | string | Specifies a comma-separated list of cells to update |
| disable_query_service | Boolean | Disables query service on the provided nodes. This flag requires 'blacklisted_tables' and 'remove' to be unset, otherwise it's ignored. |
| remove | Boolean | Removes cells for vertical splits. |
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<tablet type>
– Required. The vttablet's role. Valid values are:
backup
– A slaved copy of data that is offline to queries other than for backup purposesbatch
– A slaved copy of data for OLAP load patterns (typically for MapReduce jobs)drained
– A tablet that is reserved for a background process. For example, a tablet used by a vtworker process, where the tablet is likely lagging in replication.experimental
– A slaved copy of data that is ready but not serving query traffic. The value indicates a special characteristic of the tablet that indicates the tablet should not be considered a potential master. Vitess also does not worry about lag for experimental tablets when reparenting.master
– A primary copy of datardonly
– A slaved copy of data for OLAP load patternsreplica
– A slaved copy of data ready to be promoted to masterrestore
– A tablet that is restoring from a snapshot. Typically, this happens at tablet startup, then it goes to its right state.schema_apply
– A slaved copy of data that had been serving query traffic but that is now applying a schema change. Following the change, the tablet will revert to its serving type.snapshot_source
– A slaved copy of data where mysqld is not running and where Vitess is serving data files to clone slaves. Use this command to enter this mode: vtctl Snapshot -server-mode ...Use this command to exit this mode:
vtctl SnapshotSourceEnd ...
spare
– A slaved copy of data that is ready but not serving query traffic. The data could be a potential master tablet.<keyspace/shard>
and <tablet type>
arguments are both required for the <SetShardTabletControl>
command This error occurs if the command is not called with exactly 2 arguments.Walks through a ShardReplication object and fixes the first error that it encounters.
ShardReplicationFix <cell> <keyspace/shard>
<cell>
– Required. A cell is a location for a service. Generally, a cell resides in only one cluster. In Vitess, the terms "cell" and "data center" are interchangeable. The argument value is a string that does not contain whitespace.<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<cell>
and <keyspace/shard>
arguments are required for the ShardReplicationRemove command This error occurs if the command is not called with exactly 2 arguments.Shows the replication status of each slave machine in the shard graph. In this case, the status refers to the replication lag between the master vttablet and the slave vttablet. In Vitess, data is always written to the master vttablet first and then replicated to all slave vttablets. Output is sorted by tablet type, then replication position. Use ctrl-C to interrupt command and see partial result if needed.
ShardReplicationPositions <keyspace/shard>
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<keyspace/shard>
argument is required for the <ShardReplicationPositions>
command This error occurs if the command is not called with exactly one argument.Adds the SourceShard record with the provided index. This is meant as an emergency function. It does not call RefreshState for the shard master.
SourceShardAdd [--key_range=<keyrange>] [--tables=<table1,table2,...>] <keyspace/shard> <uid> <source keyspace/shard>
| Name | Type | Definition |
|---|---|---|
| key_range | string | Identifies the key range to use for the SourceShard |
| tables | string | Specifies a comma-separated list of tables to replicate (used for vertical split). Each is either an exact match, or a regular expression of the form /regexp/ |
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<uid>
– Required.<source keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<keyspace/shard>
, <uid>
, and <source keyspace/shard>
arguments are all required for the <SourceShardAdd>
command This error occurs if the command is not called with exactly 3 arguments.Deletes the SourceShard record with the provided index. This is meant as an emergency cleanup function. It does not call RefreshState for the shard master.
SourceShardDelete <keyspace/shard> <uid>
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<uid>
– Required.<keyspace/shard>
and <uid>
arguments are both required for the <SourceShardDelete>
command This error occurs if the command is not called with at least 2 arguments.Changes metadata in the topology server to acknowledge a shard master change performed by an external tool. See the Reparenting guide for more information:https://github.com/youtube/vitess/blob/master/doc/Reparenting.md#external-reparents.
TabletExternallyReparented <tablet alias>
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<tablet alias>
argument is required for the <TabletExternallyReparented>
command This error occurs if the command is not called with exactly one argument.Validates that all nodes that are reachable from this shard are consistent.
ValidateShard [-ping-tablets] <keyspace/shard>
| Name | Type | Definition |
|---|---|---|
| ping-tablets | Boolean | Indicates whether all tablets should be pinged during the validation process |
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<keyspace/shard>
argument is required for the <ValidateShard>
command This error occurs if the command is not called with exactly one argument.Blocks until the specified shard has caught up with the filtered replication of its source shard.
WaitForFilteredReplication [-max_delay <max_delay, default 30s>] <keyspace/shard>
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<keyspace/shard>
argument is required for the <WaitForFilteredReplication>
command This error occurs if the command is not called with exactly one argument.Stops mysqld and uses the BackupStorage service to store a new backup. This function also remembers if the tablet was replicating so that it can restore the same state after the backup completes.
Backup [-concurrency=4] <tablet alias>
| Name | Type | Definition |
|---|---|---|
| concurrency | Int | Specifies the number of compression/checksum jobs to run simultaneously |
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<Backup>
command requires the <tablet alias>
argument This error occurs if the command is not called with exactly one argument.Changes the db type for the specified tablet, if possible. This command is used primarily to arrange replicas, and it will not convert a master.
NOTE: This command automatically updates the serving graph.
ChangeSlaveType [-dry-run] <tablet alias> <tablet type>
| Name | Type | Definition |
|---|---|---|
| dry-run | Boolean | Lists the proposed change without actually executing it |
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<tablet type>
– Required. The vttablet's role. Valid values are:
backup
– A slaved copy of data that is offline to queries other than for backup purposesbatch
– A slaved copy of data for OLAP load patterns (typically for MapReduce jobs)drained
– A tablet that is reserved for a background process. For example, a tablet used by a vtworker process, where the tablet is likely lagging in replication.experimental
– A slaved copy of data that is ready but not serving query traffic. The value indicates a special characteristic of the tablet that indicates the tablet should not be considered a potential master. Vitess also does not worry about lag for experimental tablets when reparenting.master
– A primary copy of datardonly
– A slaved copy of data for OLAP load patternsreplica
– A slaved copy of data ready to be promoted to masterrestore
– A tablet that is restoring from a snapshot. Typically, this happens at tablet startup, then it goes to its right state.schema_apply
– A slaved copy of data that had been serving query traffic but that is now applying a schema change. Following the change, the tablet will revert to its serving type.snapshot_source
– A slaved copy of data where mysqld is not running and where Vitess is serving data files to clone slaves. Use this command to enter this mode: vtctl Snapshot -server-mode ...Use this command to exit this mode:
vtctl SnapshotSourceEnd ...
spare
– A slaved copy of data that is ready but not serving query traffic. The data could be a potential master tablet.<tablet alias>
and <db type>
arguments are required for the <ChangeSlaveType>
command This error occurs if the command is not called with exactly 2 arguments.Deletes tablet(s) from the topology.
DeleteTablet [-allow_master] <tablet alias> ...
| Name | Type | Definition |
|---|---|---|
| allow_master | Boolean | Allows for the master tablet of a shard to be deleted. Use with caution. |
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
. To specify multiple values for this argument, separate individual values with a space.<tablet alias>
argument must be used to specify at least one tablet when calling the <DeleteTablet>
command This error occurs if the command is not called with at least one argument.Runs the given SQL command as a DBA on the remote tablet.
ExecuteFetchAsDba [-max_rows=10000] [-disable_binlogs] [-json] <tablet alias> <sql command>
| Name | Type | Definition |
|---|---|---|
| disable_binlogs | Boolean | Disables writing to binlogs during the query |
| json | Boolean | Output JSON instead of human-readable table |
| max_rows | Int | Specifies the maximum number of rows to allow in reset |
| reload_schema | Boolean | Indicates whether the tablet schema will be reloaded after executing the SQL command. The default value is false , which indicates that the tablet schema will not be reloaded. |
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<sql command>
– Required.<tablet alias>
and <sql command>
arguments are required for the <ExecuteFetchAsDba>
command This error occurs if the command is not called with exactly 2 arguments.Runs the specified hook on the given tablet. A hook is a script that resides in the $VTROOT/vthook directory. You can put any script into that directory and use this command to run that script.
For this command, the param=value arguments are parameters that the command passes to the specified hook.
ExecuteHook <tablet alias> <hook name> [<param1=value1> <param2=value2> ...]
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<hook name>
– Required.<param1=value1>
<param2=value2>
. – Optional.<tablet alias>
and <hook name>
arguments are required for the <ExecuteHook>
command This error occurs if the command is not called with at least 2 arguments.Outputs a JSON structure that contains information about the Tablet.
GetTablet <tablet alias>
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<tablet alias>
argument is required for the <GetTablet>
command This error occurs if the command is not called with exactly one argument.Sets the regexp for health check errors to ignore on the specified tablet. The pattern has implicit ^$ anchors. Set to empty string or restart vttablet to stop ignoring anything.
IgnoreHealthError <tablet alias> <ignore regexp>
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<ignore regexp>
– Required.<tablet alias>
and <ignore regexp>
arguments are required for the <IgnoreHealthError>
command This error occurs if the command is not called with exactly 2 arguments.Initializes a tablet in the topology.
InitTablet [-allow_update] [-allow_different_shard] [-allow_master_override] [-parent] [-db_name_override=<db name>] [-hostname=<hostname>] [-mysql_port=<port>] [-port=<port>] [-grpc_port=<port>] -keyspace=<keyspace> -shard=<shard> <tablet alias> <tablet type>
| Name | Type | Definition |
|---|---|---|
| allow_master_override | Boolean | Use this flag to force initialization if a tablet is created as master, and a master for the keyspace/shard already exists. Use with caution. |
| allow_update | Boolean | Use this flag to force initialization if a tablet with the same name already exists. Use with caution. |
| db_name_override | string | Overrides the name of the database that the vttablet uses |
| grpc_port | Int | The gRPC port for the vttablet process |
| hostname | string | The server on which the tablet is running |
| keyspace | string | The keyspace to which this tablet belongs |
| mysql_host | string | The mysql host for the mysql server |
| mysql_port | Int | The mysql port for the mysql server |
| parent | Boolean | Creates the parent shard and keyspace if they don't yet exist |
| port | Int | The main port for the vttablet process |
| shard | string | The shard to which this tablet belongs |
| tags | string | A comma-separated list of key:value pairs that are used to tag the tablet |
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<tablet type>
– Required. The vttablet's role. Valid values are:
backup
– A slaved copy of data that is offline to queries other than for backup purposesbatch
– A slaved copy of data for OLAP load patterns (typically for MapReduce jobs)drained
– A tablet that is reserved for a background process. For example, a tablet used by a vtworker process, where the tablet is likely lagging in replication.experimental
– A slaved copy of data that is ready but not serving query traffic. The value indicates a special characteristic of the tablet that indicates the tablet should not be considered a potential master. Vitess also does not worry about lag for experimental tablets when reparenting.master
– A primary copy of datardonly
– A slaved copy of data for OLAP load patternsreplica
– A slaved copy of data ready to be promoted to masterrestore
– A tablet that is restoring from a snapshot. Typically, this happens at tablet startup, then it goes to its right state.schema_apply
– A slaved copy of data that had been serving query traffic but that is now applying a schema change. Following the change, the tablet will revert to its serving type.snapshot_source
– A slaved copy of data where mysqld is not running and where Vitess is serving data files to clone slaves. Use this command to enter this mode: vtctl Snapshot -server-mode ...Use this command to exit this mode:
vtctl SnapshotSourceEnd ...
spare
– A slaved copy of data that is ready but not serving query traffic. The data could be a potential master tablet.<tablet alias>
and <tablet type>
arguments are both required for the <InitTablet>
command This error occurs if the command is not called with exactly 2 arguments.Checks that the specified tablet is awake and responding to RPCs. This command can be blocked by other in-flight operations.
Ping <tablet alias>
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<tablet alias>
argument is required for the <Ping>
command This error occurs if the command is not called with exactly one argument.Reloads the tablet record on the specified tablet.
RefreshState <tablet alias>
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<tablet alias>
argument is required for the <RefreshState>
command This error occurs if the command is not called with exactly one argument.Runs 'RefreshState' on all tablets in the given shard.
RefreshStateByShard [-cells=c1,c2,...] <keyspace/shard>
| Name | Type | Definition |
|---|---|---|
| cells | string | Specifies a comma-separated list of cells whose tablets are included. If empty, all cells are considered. |
<keyspace/shard>
– Required. The name of a sharded database that contains one or more tables as well as the shard associated with the command. The keyspace must be identified by a string that does not contain whitepace, while the shard is typically identified by a string in the format <range start>-<range end>
.<keyspace/shard>
argument is required for the <RefreshStateByShard>
command This error occurs if the command is not called with exactly one argument.Reparent a tablet to the current master in the shard. This only works if the current slave position matches the last known reparent action.
ReparentTablet <tablet alias>
<ReparentTablet>
requires <tablet alias>
This error occurs if the command is not called with exactly one argument.Stops mysqld and restores the data from the latest backup.
RestoreFromBackup <tablet alias>
<RestoreFromBackup>
command requires the <tablet alias>
argument This error occurs if the command is not called with exactly one argument.Runs a health check on a remote tablet.
RunHealthCheck <tablet alias>
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<tablet alias>
argument is required for the <RunHealthCheck>
command This error occurs if the command is not called with exactly one argument.Sets the tablet as read-only.
SetReadOnly <tablet alias>
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<tablet alias>
argument is required for the <SetReadOnly>
command This error occurs if the command is not called with exactly one argument.Sets the tablet as read-write.
SetReadWrite <tablet alias>
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<tablet alias>
argument is required for the <SetReadWrite>
command This error occurs if the command is not called with exactly one argument.Blocks the action queue on the specified tablet for the specified amount of time. This is typically used for testing.
Sleep <tablet alias> <duration>
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<duration>
– Required. The amount of time that the action queue should be blocked. The value is a string that contains a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms" or "1h45m". See the definition of the Go language's ParseDuration function for more details. Note that, in practice, the value should be a positively signed value.<tablet alias>
and <duration>
arguments are required for the <Sleep>
command This error occurs if the command is not called with exactly 2 arguments.Starts replication on the specified slave.
StartSlave <tablet alias>
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<StartSlave>
requires <tablet alias>
This error occurs if the command is not called with exactly one argument.Stops replication on the specified slave.
StopSlave <tablet alias>
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<StopSlave>
requires <tablet alias>
This error occurs if the command is not called with exactly one argument.Updates the IP address and port numbers of a tablet.
UpdateTabletAddrs [-hostname <hostname>] [-ip-addr <ip addr>] [-mysql-port <mysql port>] [-vt-port <vt port>] [-grpc-port <grpc port>] <tablet alias>
| Name | Type | Definition |
|---|---|---|
| grpc-port | Int | The gRPC port for the vttablet process |
| hostname | string | The fully qualified host name of the server on which the tablet is running. |
| mysql-port | Int | The mysql port for the mysql daemon |
| mysql_host | string | The mysql host for the mysql server |
| vt-port | Int | The main port for the vttablet process |
<tablet alias>
– Required. A Tablet Alias uniquely identifies a vttablet. The argument value is in the format <cell name>-<uid>
.<tablet alias>
argument is required for the <UpdateTabletAddrs>
command This error occurs if the command is not called with exactly one argument.Retrieves the file(s) at <path> from the topo service, and displays it. It can resolve wildcards, and decode the proto-encoded data.
TopoCat [-cell <cell>] [-decode_proto] [-long] <path> [<path>...]
| Name | Type | Definition |
|---|---|---|
| cell | string | topology cell to cat the file from. Defaults to global cell. |
| decode_proto | Boolean | decode proto files and display them as text |
| long | Boolean | long listing. |
<cell>
– Required. A cell is a location for a service. Generally, a cell resides in only one cluster. In Vitess, the terms "cell" and "data center" are interchangeable. The argument value is a string that does not contain whitespace.<path>
– Required.<path>
. – Optional.<TopoCat>
: no path specified This error occurs if the command is not called with at least one argument.<TopoCat>
: invalid wildcards: %v<TopoCat>
: some paths had errorsSends the provided action name on the specified path.
WorkflowAction <path> <name>
<name>
– Required.<path>
and <name>
arguments are required for the <WorkflowAction>
command This error occurs if the command is not called with exactly 2 arguments.Creates the workflow with the provided parameters. The workflow is also started, unless -skip_start is specified.
WorkflowCreate [-skip_start] <factoryName> [parameters...]
| Name | Type | Definition |
|---|---|---|
| skip_start | Boolean | If set, the workflow will not be started. |
<factoryName>
– Required.<factoryName>
argument is required for the <WorkflowCreate>
command This error occurs if the command is not called with at least one argument.Deletes the finished or not started workflow.
WorkflowDelete <uuid>
<uuid>
argument is required for the <WorkflowDelete>
command This error occurs if the command is not called with exactly one argument.Starts the workflow.
WorkflowStart <uuid>
<uuid>
argument is required for the <WorkflowStart>
command This error occurs if the command is not called with exactly one argument.Stops the workflow.
WorkflowStop <uuid>
<uuid>
argument is required for the <WorkflowStop>
command This error occurs if the command is not called with exactly one argument.Displays a JSON representation of the workflow tree.
WorkflowTree
<WorkflowTree>
command takes no parameter This error occurs if the command is not called with exactly 0 arguments.Waits for the workflow to finish.
WorkflowWait <uuid>
<uuid>
argument is required for the <WorkflowWait>
command This error occurs if the command is not called with exactly one argument.


RECKLESS A film review by James Berardinelli Copyright 1995 James Berardinelli
RATING (0 TO 10): 7.9
United States, 1995 U.S. Availability: 11/95 (limited) Running Length: 1:40 MPAA Classification: R (Mature themes, violence, profanity) Theatrical Aspect Ratio: 1.85:1
Cast: Mia Farrow, Scott Glenn, Mary-Louise Parker, Tony Goldwyn, Stephen Dorff, Eileen Brennan, Giancarlo Esposito Director: Norman Rene Producer: Amy J. Kaufman Screenplay: Craig Lucas based on his play Cinematography: Frederick Elmes Music: Stephen Endelman U.S. Distributor: The Samuel Goldwyn Company
RECKLESS is a Christmas story for all of us who like our holiday fare spiced with bizarre characters and strange plot twists. This black comedy, directed by Norman Rene (LONGTIME COMPANION, PRELUDE TO A KISS) and written by his frequent collaborator, Craig Lucas, takes good cheer and Seasons' Greetings and turns them upside down. Insightful and very funny, this film sails through a wonderful seventy minutes before slipping slightly off-track as it slides into its denouement.
RECKLESS opens to the warm strains of "I'll Be Home for Christmas" as the camera sweeps over a snowscape to a small house decorated with colored lights. Inside, it's Christmas Eve, and Rachel (Mia Farrow) is reminiscing about holidays past--how she wanted so much to believe in Santa Claus and would try to stay awake at night to hear the reindeers' hooves on the roof. Outside, snow continues to fall, and Rachel confides to her husband (Tony Goldwyn) that she's on the verge of a "euphoria attack." His unexpected response begins an unreal odyssey for Rachel that ends in Springfield, Massachusetts at the home of a rugged, saintly good Samaritan named Lloyd (Scott Glenn) and his paraplegic, deaf/mute wife, Pooty (Mary-Louise Parker).
To reveal more about RECKLESS' seemingly-endless twists and turns would be unfair, but the movie almost never goes along exactly the expected path. Rene and Lucas have consciously incorporated a number of standard Hollywood subplots into their film, then spun them off in unanticipated directions. Coincidence plays a big part in much of what transpires, but this is less a plot device than a statement by the film makers of how real life is often impelled by the vagaries of an ironic, fickle fate.
The first two-thirds of the movie successfully accomplish a delicate balancing act between an absurd comic tone and occasional moments of drama. Unhappily, during the final thirty minutes, these two opposing moods begin to grate and clash, which results in an uneven conclusion. The film perhaps tries to do too much and, while it gets most of its points across, the style towards the end isn't as appealing as it is near the beginning.
RECKLESS toys with the differences between dreams and reality. >From the opening moments, there's always a flicker of doubt about whether what we're seeing is "really" happening, or whether it's a part of Rachel's conscious (or subconscious) imagination. The cinematography by BLUE VELVET's Frederick Elmes highlights the surreality of certain scenes, and each individual is left to ponder which parts of RECKLESS, if any, are fantasy.
A fair amount of RECKLESS' screen time is spent examining the issue of identity: how our appearance to others may have nothing to do with who we really are. No matter how completely anyone thinks they know us, there's always something concealed. Friends, lovers, spouses--none see us with exactly the same perspective as we view ourselves. In RECKLESS, not only do each of the characters have hidden sides, but the essential nature of their personality is mutable over time. Rachel believes that the past is something we "wake up from." Lloyd, on the other hand, sees it as something we "wake up to."
The cast includes some well-known names. Mia Farrow plays off her Woody Allen-groomed reputation to good effect. She's bright and sparkling, and what she accomplishes here is easily her best work in years. Mary-Louise Parker adds another exceptional performance to her growing resume, and Scott Glenn is wonderfully laid-back. Actors like Stephen Dorff and Eileen Brennan ably fill smaller roles.
Rene and Lucas explored the issue of identity in a slightly different fashion in their previous film, PRELUDE TO A KISS. In that story, an old man and a young, newly-married woman switch bodies. In RECKLESS, the theme is examined a little more subtlety and with a great deal more laughter. Despite its failings, this motion picture is a rare thought-provoking comedy, and a wonderful example of something that, at least on the surface, looks like a Hollywood film, but definitely doesn't behave like one.
- James Berardinelli<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


The fill() method serves to fill the array
with the specified variables. it takes 3
parameters. They are value, start and end.
Start and end values can be given on request.
But it is imperative to enter value.
Array pop()
The pop () method removes the last element of an array.
And define a new array. So this method changes the
sequence (length and elements).
Array push()
The push () method adds one or more elements to the end
of an array. And it returns its new length. This changes
the number and length of elements of the array.
Array sort()
The sort () method sorts the items in an array.
This order (if we do not specify a function) is
in the form of increasing order.
Array slice()
The Slice() method copies the desired portion of a directory.
Array every()
"Every" function checks whether all the elements of
the array satisfy the given condition or not that is
provided by a function passed to it as the argument.
Array map()
The Map () method scans through each element
of the array. It returns a new array with the elements
it scans. The map() method calls the provided function
once for each element in an array, in order.


Michigan sees a decline in hunting licenses across the state
GRAND RAPIDS, Mich. (AP) - Hunting wildlife has long been ingrained in Michigan’s culture, but it is currently on a decline across the state as young adults opt to participate in other activities.
Michigan had as many as 1.2 million hunters in the 1970s, ‘80s and into the ‘90s. But MLive.com reported Sunday that by 2018, less than 675,000 people had at least one hunting license in the state.
The decline is partly due to more baby boomers aging out. But young adults, urbanites and others are also far less likely to partake in hunting.
Fishing also is on a downward trend, though its drop has been less steep. Between 2013 and 2018, Michigan residents obtaining fishing licenses fell 5% compared to a 18% decline in hunting licenses during that same period.
Dan Eichinger, director of the Michigan Department of Natural Resources, said resolving the situation doesn’t hinge on one thing.
“We’ve all been beneficiaries of having really strong, robust, active and engaged hunting and fishing communities in Michigan,” Eichinger said. “As the number of people who participate in those sports decline, we’ve got a real difficult question that we’re going to have to contend with, not just in our state but across the county.”
The decline in hunting and fishing has an impact on the state’s conservation efforts, according to Department of Natural Resources officials.
Hunting and fishing fees account for more than 90% of the state agency’s $42 million wildlife conservation budget. Eichinger added that money from waterfowl hunting helps facilitate the state’s coastal wetland restoration work.
Communities’ finances also are impacted when hunting and fishing are on the decline. Eichinger highlighted a 2018 study by Michigan State University that found hunting and fishing annually generates $11.2 billion in the state.
 As it shrinks, “it’s going to disproportionately impact communities in northern Michigan and the Upper Peninsula” that depend on hunting- and fishing-related tourism.
Another factor is wildlife management. Hunting is a key tool for “maintaining balanced, healthy populations,” Eichinger noted.
It is particularly vital in urban and suburban areas where deer and coyotes can cause issues. In 2018, deer accounted for one of every six vehicle accidents in Michigan - more than 53,000 collisions, including 14 deaths.
The firearm deer-hunting season in Michigan begins Nov. 15.
Information from: The Grand Rapids Press:MLive.com, http://www.mlive.com
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


Core java developement along with Shell scripting, Application monitoring and Server monitoring scripts were developed
E-commerce Website Development of website using Hybris, Tuclothing website was developed as a part of it.
Worked on couple of webapplication developement for retail & Supply Chain Company like supervalu, target & sainsburys
HTML, CSS3 & JS. Mean stack and website developed using Angular Js
Hands on Oracle, DB2 and SQL servers
Automation test Script developed on Selenium, sikuli, Apache jmeter & SoapUI


Class which is the implementation of the abstract base class GLWindowManager, and which uses the GLFW cross-platform library to create a window, process input (to communicate with the inputs manager) and create the OpenGL context.
More...
#include <GLFWManager.hpp>
|
| | GLFWManager (std::string title="GL Application template", int width=1280, int height=720, bool fullScreen=false) |
| | Constructor. More...
|
| |
|
| ~GLFWManager () override |
| | Destructor.
|
| |
|
void | setKeyCallback () |
| | Sets a callback to manage the keys pressed on the keyboard.
|
| |
| int | initialize () override |
| | Initializes the window and creates the OpenGL context. More...
|
| |
| void | getContext (int major, int minor) |
| | Gets information about GLFW and OpenGL contexts. More...
|
| |
|
void | getLogInformation () |
| | Get information about OpenGL version and renderer.
|
| |
|
void | createWindow () |
| | Creates the GLFW window, either in full screen or not.
|
| |
|
void | centerWindow () |
| | Centers the GLFW window on the monitor screen.
|
| |
|
void | swapBuffers () override |
| | Swaps the back buffer to the front (should be called every frame).
|
| |
|
void | processInput () override |
| | Processes any needed input for the application.
|
| |
|
void | update () override |
| | Updates the window (should be called every frame).
|
| |
|
void | destroy () override |
| | Destroys the window and the OpenGL context.
|
| |
| std::string | getTitle () const override |
| | Returns the window/application title. More...
|
| |
| int | getWidth () const override |
| | Returns the window width. More...
|
| |
| int | getHeight () const override |
| | Returns the window height. More...
|
| |
| float | getWindowRatio () const override |
| | Returns the window ratio (window width divided by window height). More...
|
| |
| bool | isFullScreen () const override |
| | Returns a boolean that indicates whether the window is in full screen mode. More...
|
| |
| const float | getTimeElapsed () override |
| | Returns the total time elapsed since the GL application was started. More...
|
| |
| const float | getFrameDeltaTime () override |
| | Returns the time elapsed since the last frame. More...
|
| |
|
virtual | ~GLWindowManager ()=default |
| | Destructor. This is needed so that the class inheriting this will have it's deconstructor called.
|
| |
| InputManager * | getInputManager () const |
| | Returns the application's inputs manager. More...
|
| |
| GLWindowUtils * | getWindowUtils () const |
| | Returns the application's window utility. More...
|
| |
Class which is the implementation of the abstract base class GLWindowManager, and which uses the GLFW cross-platform library to create a window, process input (to communicate with the inputs manager) and create the OpenGL context.
Class which is the implementation of the abstract base class GLAudioManager, and which uses the OpenAL cross-platform library to create the sound context and manage the sounds entities.
◆ GLFWManager()
| engine::GLFWManager::GLFWManager |
( |
std::string |
title = "GL Application template" , |
|
|
int |
width = 1280 , |
|
|
int |
height = 720 , |
|
|
bool |
fullScreen = false |
|
) |
| |
|
explicit |
Constructor.
- Parameters
-
| title | : The window/application title. |
| width | : The window width value. |
| height | : The window height value. |
| fullScreen | : A boolean to determine if the window is in full screen mode. |
◆ getContext()
| void engine::GLFWManager::getContext |
( |
int |
major, |
|
|
int |
minor |
|
) |
| |
Gets information about GLFW and OpenGL contexts.
- Parameters
-
| major | : OpenGL major version accepted. |
| minor | : OpenGL minor version accepted. |
◆ getFrameDeltaTime()
| const float engine::GLFWManager::getFrameDeltaTime |
( |
| ) |
|
|
overridevirtual |
Returns the time elapsed since the last frame.
- Returns
- The time elapsed since the last frame.
Implements engine::GLWindowManager.
◆ getHeight()
| int engine::GLFWManager::getHeight |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ getTimeElapsed()
| const float engine::GLFWManager::getTimeElapsed |
( |
| ) |
|
|
overridevirtual |
Returns the total time elapsed since the GL application was started.
- Returns
- The total time elapsed since the GL application was started.
Implements engine::GLWindowManager.
◆ getTitle()
| std::string engine::GLFWManager::getTitle |
( |
| ) |
const |
|
inlineoverridevirtual |
Returns the window/application title.
- Returns
- The title of the window/application.
Implements engine::GLWindowManager.
◆ getWidth()
| int engine::GLFWManager::getWidth |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ getWindowRatio()
| float engine::GLFWManager::getWindowRatio |
( |
| ) |
const |
|
inlineoverridevirtual |
Returns the window ratio (window width divided by window height).
- Returns
- The window ratio (window width divided by window height).
Implements engine::GLWindowManager.
◆ initialize()
| int engine::GLFWManager::initialize |
( |
| ) |
|
|
overridevirtual |
Initializes the window and creates the OpenGL context.
- Returns
- An integer acting as a boolean for success/fail information.
Implements engine::GLWindowManager.
◆ isFullScreen()
| bool engine::GLFWManager::isFullScreen |
( |
| ) |
const |
|
inlineoverridevirtual |
Returns a boolean that indicates whether the window is in full screen mode.
- Returns
- A boolean that indicates whether the window is in full screen mode.
Implements engine::GLWindowManager.
◆ m_deltaTime
| float engine::GLFWManager::m_deltaTime |
|
protected |
The GLFW window total time ellapsed.
◆ m_firstMouse
| bool engine::GLFWManager::m_firstMouse = true |
|
protected |
A boolean used to determine if the click captured is the first.
◆ m_fullScreen
| bool engine::GLFWManager::m_fullScreen |
|
protected |
A boolean to determine if the window is in full screen mode.
◆ m_height
| int engine::GLFWManager::m_height |
|
protected |
◆ m_lastX
| float engine::GLFWManager::m_lastX = float(m_width) / 2.0f |
|
protected |
The last position of the mouse X position.
◆ m_lastY
| float engine::GLFWManager::m_lastY = float(m_height) / 2.0f |
|
protected |
The last position of the mouse Y position.
◆ m_monitor
| GLFWmonitor* engine::GLFWManager::m_monitor |
|
protected |
The primary monitor of the user, which will be used to display the application window.
◆ m_time
| float engine::GLFWManager::m_time |
|
protected |
The time difference between the previous frame that was drawn and the current frame of the GLFW window.
◆ m_title
| std::string engine::GLFWManager::m_title |
|
protected |
The window/application title (string).
◆ m_width
| int engine::GLFWManager::m_width |
|
protected |
◆ m_window
| GLFWwindow* engine::GLFWManager::m_window |
|
protected |
The GLFW window object (pointer) that manages the window and input.
The documentation for this class was generated from the following file:
- /home/vincent/Documents/Github/contemplative-game/engine/include/engine/GLFWManager.hpp


Thank you for participating!
You're almost done...
Now please follow the instructions to fill a short questionnaire
- Copy this code:
- Follow this link to the questionnaire
- Paste the code in the required field, press Continue and start answering the questions