vitess-gh/proto
Andrew Mason 1115689ce4
Merge pull request #8648 from tinyspeck/am_vtadmin_rw_keyspaces
[vtadmin] RW Keyspace endpoints
2021-08-23 13:02:25 -04:00
..
README.md
automation.proto
automationservice.proto
binlogdata.proto Add keyspace/shard to FieldEvent and RowEvent. Add to vstreamer engine and initialze. Fix vstreamer tests 2021-08-06 14:16:08 +02:00
binlogservice.proto
logutil.proto
mysqlctl.proto Move the parsing around, add link to issue 2021-06-14 17:02:10 -04:00
query.proto Address review comments 2021-07-22 13:55:10 +02:00
queryservice.proto
replicationdata.proto naming: remove MasterStatus proto and use PrimaryStatus everywhere 2021-07-21 10:17:58 -07:00
tableacl.proto
tabletmanagerdata.proto more master->primary changes in docs, tests, functions and variables. 2021-08-10 19:52:24 -07:00
tabletmanagerservice.proto Update proto files and generate pb and vtadmin js files 2021-08-09 21:06:23 +02:00
throttlerdata.proto
throttlerservice.proto
topodata.proto Initial changes for blacklist to denylist 2021-08-17 11:07:03 +02:00
vschema.proto
vtadmin.proto Add create/delete keyspace rpcs, run generators 2021-08-17 08:11:21 -04:00
vtctldata.proto Update proto files and generate pb and vtadmin js files 2021-08-09 21:06:23 +02:00
vtctlservice.proto Add rpcs, run generators for `RefreshState(ByShard)?` methods 2021-06-13 15:52:26 -04:00
vtgate.proto Add flag to VStream API to stop streaming on reshard and return the journal event instead 2021-08-15 14:34:28 +02:00
vtgateservice.proto proto changes for prepare and closeSession vtgate api 2021-05-31 13:05:02 +05:30
vtrpc.proto tabletserver to map cluster operation failures with cluster_event error code. Vtgate buffer logic to respond to cluster_event error code, 2021-08-20 14:13:51 +05:30
vttest.proto Update proto files and generate pb and vtadmin js files 2021-08-09 21:06:23 +02:00
vttime.proto
vtworkerdata.proto
vtworkerservice.proto
workflow.proto

README.md

Vitess Protobuf Definitions

This directory contains all Vitess protobuf definitions.

Our protobuf messages are both used as wire format (e.g. query.proto) and for storage (e.g. topodata.proto).

RPC messages and service definitions are in separate files (e.g. vtgate.proto and vtgateservice.proto) on purpose because our internal deployment does not use gRPC.

Style Guide

Before creating new messages or services, please make yourself familiar with the style of the existing definitions first.

Additionally, new definitions must adhere to the Google Cloud API Design Guide: https://cloud.google.com/apis/design/

Comments

We are more strict than the Design Guide on the format for comments. Similar to comments for Go types or fields, protobuf comments must start with the name. For example:

// TabletAlias is a globally unique tablet identifier.
message TabletAlias {
  // cell is the cell (or datacenter) the tablet is in.
  string cell = 1;
  ...
}

Note that the Design Guide also has the following ask:

If the field value is required, input only, output only, it must be documented at the start of the field description. By default, all fields and parameters are optional.

Here's an example which combines this ask with our stricter comments style:

// ExecuteKeyspaceIdsRequest is the payload to ExecuteKeyspaceIds.
message ExecuteKeyspaceIdsRequest {
  ...
  // Required. keyspace to target the query to.
  string keyspace = 4;
  ...
}

Note that most of our existing files (as of March 2017) do not have e.g. "Required." comments. Nonetheless, new files should follow this where applicable.