All Downloads are FREE. Search and download functionalities are using the official Maven repository.

itess.client.1.2.0.source-code.vttest.proto Maven / Gradle / Ivy

The newest version!
// This file contains the vttest topology configuration structures.
//
// The protobuf message "VTTestTopology" specifies the Vitess and
// database configuration of the "vttest" test component which can be
// used in end-to-end tests to test an application against an actual
// Vitess and MySQL server.
//
// To start a "vttest" instance, pass the "VTTestTopology" message,
// encoded in the protobuf compact text format, to
// py/vttest/run_local_database.py which in turn will send it to the
// Vitess test binary called "vtcombo".
//
// To encode a "VTTestTopology" message in the protobuf compact text
// format, create the protobuf in your test's native language first
// and then use the protobuf library to encode it as text.
// For an example in Python, see: test/vttest_sample_test.py
// In go, see: go/vt/vttest/local_cluster_test.go
//
// Sample encoded proto configurations would be as follow. Note there are
// multiple encoding options, see the proto documentation for more info
// (first and last quote not included in the encoding):
// - single keyspace named test_keyspace with one shard '0':
//   'keyspaces: > '
// - two keyspaces, one with two shards, the other one with a redirect:
//   'keyspaces { name: "test_keyspace" shards { name: "-80" } shards { name: "80-" } } keyspaces { name: "redirect" served_from: "test_keyspace" }'

syntax = "proto3";

package vttest;

// Shard describes a single shard in a keyspace.
message Shard {
  // name has to be unique in a keyspace. For unsharded keyspaces, it
  // should be '0'. For sharded keyspace, it should be derived from
  // the keyrange, like '-80' or '40-80'.
  string name = 1;

  // db_name_override is the mysql db name for this shard. Has to be
  // globally unique. If not specified, we will by default use
  // 'vt__'.
  string db_name_override = 2;
}

// Keyspace describes a single keyspace.
message Keyspace {
  // name has to be unique in a VTTestTopology.
  string name = 1;

  // shards inside this keyspace. Ignored if redirect is set.
  repeated Shard shards = 2;

  // sharding_column_name for this keyspace. Used for v2 calls, but not for v3.
  string sharding_column_name = 3;

  // sharding_column_type for this keyspace. Used for v2 calls, but not for v3.
  string sharding_column_type = 4;

  // redirects all traffic to another keyspace. If set, shards is ignored.
  string served_from = 5;

  // number of replica tablets to instantiate. This includes the master tablet.
  int32 replica_count = 6;

  // number of rdonly tablets to instantiate.
  int32 rdonly_count = 7;
}

// VTTestTopology describes the keyspaces in the topology.
message VTTestTopology {
  // all keyspaces in the topology.
  repeated Keyspace keyspaces = 1;

  // list of cells the keyspaces reside in. Vtgate is started in only the first cell.
  repeated string cells = 2;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy