VTOrc

VTOrc is the automated fault detection and repair tool of Vitess. It started off as a fork of the Orchestrator, which was then custom-fitted to the Vitess use-case running as a Vitess component. An overview of the architecture of VTOrc can be found on this page.

Setting up VTOrc lets you avoid performing the InitShardPrimary step. It automatically detects that the new shard doesn’t have a primary and elects one for you.

Flags

For a full list of supported flags, please look at VTOrc reference page.

UI, API and Metrics

For information about the UI, API and metrics that VTOrc exports, please consult this page.

Example invocation of VTOrc

You can bring VTOrc using the following invocation:

  1. vtorc --topo_implementation etcd2 \
  2. --topo_global_server_address "localhost:2379" \
  3. --topo_global_root /vitess/global \
  4. --port 15000 \
  5. --log_dir=${VTDATAROOT}/tmp \
  6. --recovery-period-block-duration "10m" \
  7. --instance-poll-time "1s" \
  8. --topo-information-refresh-duration "30s" \
  9. --alsologtostderr

You can optionally add a clusters_to_watch flag that contains a comma separated list of keyspaces or keyspace/shard values. If specified, VTOrc will manage only those clusters.

Durability Policies

All the failovers that VTOrc performs will be honoring the durability policies. Please be careful in setting the desired durability policies for your keyspace because this will affect what situations VTOrc can recover from and what situations will require manual intervention.

Running VTOrc using the Vitess Operator

To find information about deploying VTOrc using Vitess Operator please take a look at this page.