You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: GOVERNANCE.md
+3-3
Original file line number
Diff line number
Diff line change
@@ -59,7 +59,7 @@ New committers can be nominated by any existing committer. Once they have been n
59
59
60
60
Nominees may decline their appointment as a committer. However, this is unusual, as the project does not expect any specific time or resource commitment from its community members. The intention behind the role of committer is to allow people to contribute to the project more easily, not to tie them in to the project in any formal way.
61
61
62
-
It is important to recognise that commitership is a privilege, not a right. That privilege must be earned and once earned it can be removed by the PMC for conduct inconsistent with the [Guiding Principles](https://github.com/vitessio/vitess/blob/master/GUIDING_PRINCIPLES.md) or if they drop below a level of commitment and engagement required to be a Committer, as determined by the PMC. The PMC also reserves the right to remove a person for any other reason inconsistent with the goals of Vitess.
62
+
It is important to recognise that commitership is a privilege, not a right. That privilege must be earned and once earned it can be removed by the PMC for conduct inconsistent with the [Guiding Principles](https://github.com/vitessio/vitess/blob/main/GUIDING_PRINCIPLES.md) or if they drop below a level of commitment and engagement required to be a Committer, as determined by the PMC. The PMC also reserves the right to remove a person for any other reason inconsistent with the goals of Vitess.
63
63
64
64
A committer who shows an above-average level of contribution to the project, particularly with respect to its strategic direction and long-term health, may be nominated to become a member of the PMC. This role is described below.
65
65
@@ -83,7 +83,7 @@ Membership of the PMC is by invitation from the existing PMC members. A nominati
83
83
84
84
The number of PMC members should be limited to 7. This number is chosen to ensure that sufficient points of view are represented, while preserving the efficiency of the decision making process.
85
85
86
-
The PMC is responsible for maintaining the [Guiding Principles](https://github.com/vitessio/vitess/blob/master/GUIDING_PRINCIPLES.md) and the code of conduct. It is also responsible for ensuring that those rules and principles are followed.
86
+
The PMC is responsible for maintaining the [Guiding Principles](https://github.com/vitessio/vitess/blob/main/GUIDING_PRINCIPLES.md) and the code of conduct. It is also responsible for ensuring that those rules and principles are followed.
87
87
88
88
## PMC Chair
89
89
@@ -106,7 +106,7 @@ The Slack channel list is the most appropriate place for a contributor to ask fo
106
106
107
107
Decisions about the future of the project are made by the PMC. New proposals and ideas can be brought to the PMC’s attention through the Slack channel or by filing an issue. If necessary, the PMC will seek input from others to come to the final decision.
108
108
109
-
The PMC’s decision is itself governed by the project’s [Guiding Principles](https://github.com/vitessio/vitess/blob/master/GUIDING_PRINCIPLES.md), which shall be used to reach consensus. If a consensus cannot be reached, a simple majority voting process will be used to reach resolution. In case of a tie, the PMC chair has the casting vote.
109
+
The PMC’s decision is itself governed by the project’s [Guiding Principles](https://github.com/vitessio/vitess/blob/main/GUIDING_PRINCIPLES.md), which shall be used to reach consensus. If a consensus cannot be reached, a simple majority voting process will be used to reach resolution. In case of a tie, the PMC chair has the casting vote.
110
110
111
111
# Credits
112
112
The contents of this document are based on http://oss-watch.ac.uk/resources/meritocraticgovernancemodel by Ross Gardler and Gabriel Hanganu.
To report a problem, the best way to get attention is to create a GitHub [issue](.https://github.com/vitessio/vitess/issues) using proper severity level based on this [guide](https://github.com/vitessio/vitess/blob/master/SEVERITY.md).
28
+
To report a problem, the best way to get attention is to create a GitHub [issue](.https://github.com/vitessio/vitess/issues) using proper severity level based on this [guide](https://github.com/vitessio/vitess/blob/main/SEVERITY.md).
29
29
30
30
For topics that are better discussed live, please join the [Vitess Slack](https://vitess.io/slack) workspace.
31
31
You may post any questions on the #general channel or join some of the special-interest channels.
Copy file name to clipboardExpand all lines: doc/DockerBuild.md
+5-5
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
-
By default, the [Helm Charts](https://github.com/vitessio/vitess/tree/master/helm)
1
+
By default, the [Helm Charts](https://github.com/vitessio/vitess/tree/main/helm)
2
2
point to the `vitess/lite` image on [Docker Hub](https://hub.docker.com/u/vitess/).
3
3
4
4
We created the `lite` image as a stripped down version of our main image `base` such that Kubernetes pods can start faster.
5
5
The `lite` image does not change very often and is updated manually by the Vitess team with every release.
6
6
In contrast, the `base` image is updated automatically after every push to the GitHub master branch.
7
-
For more information on the different images we provide, please read the [`docker/README.md`](https://github.com/vitessio/vitess/tree/master/docker) file.
7
+
For more information on the different images we provide, please read the [`docker/README.md`](https://github.com/vitessio/vitess/tree/main/docker) file.
8
8
9
9
If your goal is run the latest Vitess code, the simplest solution is to use the bigger `base` image instead of `lite`.
10
10
@@ -22,9 +22,9 @@ Then you can run our build script for the `lite` image which extracts the Vitess
22
22
23
23
1. Go to your `src/vitess.io/vitess` directory.
24
24
25
-
1. Usually, you won't need to [build your own bootstrap image](https://github.com/vitessio/vitess/blob/master/docker/bootstrap/README.md)
26
-
unless you edit [bootstrap.sh](https://github.com/vitessio/vitess/blob/master/bootstrap.sh)
27
-
or [vendor.json](https://github.com/vitessio/vitess/blob/master/vendor/vendor.json),
25
+
1. Usually, you won't need to [build your own bootstrap image](https://github.com/vitessio/vitess/blob/main/docker/bootstrap/README.md)
26
+
unless you edit [bootstrap.sh](https://github.com/vitessio/vitess/blob/main/bootstrap.sh)
27
+
or [vendor.json](https://github.com/vitessio/vitess/blob/main/vendor/vendor.json),
28
28
for example to add new dependencies. If you do need it then build the
29
29
bootstrap image, otherwise pull the image using one of the following
Copy file name to clipboardExpand all lines: doc/LifeOfAQuery.md
+5-5
Original file line number
Diff line number
Diff line change
@@ -11,21 +11,21 @@ Life of A Query
11
11
12
12
A query means a request for information from database and it involves four components in the case of Vitess, including the client application, VtGate, VtTablet and MySQL instance. This doc explains the interaction which happens between and within components.
At a very high level, as the graph shows, first the client sends a query to VtGate. VtGate then resolves the query and routes it to the right VtTablets. For each VtTablet that receives the query, it does necessary validations and passes the query to the underlying MySQL instance. After gathering results from MySQL, VtTablet sends the response back to VtGate. Once VtGate receives responses from all VtTablets, it sends the combined result to the client. In the presence of VtTablet errors, VtGate will retry the query if errors are recoverable and it only fails the query if either errors are unrecoverable or the maximum number of retries has been reached.
17
17
18
18
## From Client to VtGate
19
19
20
20
A client application first sends an rpc with an embedded sql query to VtGate. VtGate's rpc server unmarshals this rpc request, calls the appropriate VtGate method and return its result back to client.
VtGate keeps an in-memory table that stores all available rpc methods for each service, e.g. VtGate uses "VTGate" as its service name and most of its methods defined in [go/vt/vtgate/vtgate.go](../go/vt/vtgate/vtgate.go) are used to serve rpc request.
After receiving an rpc call from the client and one of its Execute* method being invoked, VtGate needs to figure out which shards should receive the query and send it to each of them. In addition, VtGate talks to the topo server to get necessary information to create a VtTablet connection for each shard. At this point, VtGate is able to send the query to the right VtTablets in parallel. VtGate also does retry if timeout happens or some VtTablets return recoverable errors.
31
31
@@ -35,13 +35,13 @@ A ShardConn object represents a load balanced connection to a group of VtTablets
Once VtTablet received an rpc call from VtGate, it does a few checks before passing the query to MySQL. First, it validates the current VtTablet state including the session id, then generates a query plan and applies predefined query rules and does ACL checks. It also checks whether the query hits the row cache and returns the result immediately if so. In addition, VtTablet consolidates duplicate queries from executing simultaneously and shares results between them. At this point, VtTablet has no way but pass the query down to MySQL layer and wait for the result.
Copy file name to clipboardExpand all lines: doc/ReplicatoinLagBasedThrottlingOfTransactions.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -21,11 +21,11 @@ A boolean flag controlling whether the replication-lag-based throttling is enabl
21
21
22
22
**tx-throttler-config*
23
23
24
-
A text-format representation of the [throttlerdata.Configuration](https://github.com/vitessio/vitess/blob/master/proto/throttlerdata.proto) protocol buffer
24
+
A text-format representation of the [throttlerdata.Configuration](https://github.com/vitessio/vitess/blob/main/proto/throttlerdata.proto) protocol buffer
25
25
that contains configuration options for the throttler.
26
26
The most important fields in that message are *target_replication_lag_sec* and
27
27
*max_replication_lag_sec* that specify the desired limits on the replication lag. See the comments in the protocol definition file for more details.
28
-
If this is not specified a [default](https://github.com/vitessio/vitess/tree/master/go/vt/vttablet/tabletserver/tabletenv/config.go) configuration will be used.
28
+
If this is not specified a [default](https://github.com/vitessio/vitess/tree/main/go/vt/vttablet/tabletserver/tabletenv/config.go) configuration will be used.
A transaction generally starts off as a single DB transaction. It becomes a distributed transaction as soon as more than one VTTablet is affected. If the app issues a rollback, then all participants are simply rolled back. If a BEC is issued, then all transactions are individually committed. These actions are the same irrespective of single or distributed transactions.
112
112
@@ -132,7 +132,7 @@ In order to make 2PC work, the following pieces of functionality have to be buil
132
132
133
133
The diagram below show how the various components interact.
Copy file name to clipboardExpand all lines: doc/V3HighLevelDesign.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ The goal of this document is to describe the guiding principles that will be use
6
6
7
7
### Prerequisites
8
8
9
-
Before reading this doc you must be familiar with [vindexes](https://github.com/vitessio/vitess/blob/master/doc/V3VindexDesign.md), which is used as foundation for the arguments presented here.
9
+
Before reading this doc you must be familiar with [vindexes](https://github.com/vitessio/vitess/blob/main/doc/V3VindexDesign.md), which is used as foundation for the arguments presented here.
10
10
11
11
# Background
12
12
@@ -1194,7 +1194,7 @@ The overall strategy is as follows:
1194
1194
1195
1195
In order to align ourselves with our priorities, we’ll start off with a limited set of primitives, and then we can expand from there.
1196
1196
1197
-
VTGate already has `Route` and `RouteMerge` as primitives. To this list, let’s add `Join` and `LeftJoin`. Using these primitives, we should be able to cover priorities 1-3 (mentioned in the [Prioritization](https://github.com/vitessio/vitess/blob/master/doc/V3HighLevelDesign.md#prioritization) section). So, any constructs that will require VTGate to do additional work will not be supported. Here’s a recap of what each primitive must do:
1197
+
VTGate already has `Route` and `RouteMerge` as primitives. To this list, let’s add `Join` and `LeftJoin`. Using these primitives, we should be able to cover priorities 1-3 (mentioned in the [Prioritization](https://github.com/vitessio/vitess/blob/main/doc/V3HighLevelDesign.md#prioritization) section). So, any constructs that will require VTGate to do additional work will not be supported. Here’s a recap of what each primitive must do:
1198
1198
1199
1199
*`Route`: Sends a query to a single shard or unsharded keyspace.
1200
1200
*`RouteMerge`: Sends a (mostly) identical query to multiple shards and returns the combined results in no particular order.
Copy file name to clipboardExpand all lines: doc/VTGateSubqueries.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
# Introduction
4
4
5
-
This document builds on top of [The V3 high level design](https://github.com/vitessio/vitess/blob/master/doc/V3HighLevelDesign.md). It discusses implementation of subquery support in greater detail.
5
+
This document builds on top of [The V3 high level design](https://github.com/vitessio/vitess/blob/main/doc/V3HighLevelDesign.md). It discusses implementation of subquery support in greater detail.
Copy file name to clipboardExpand all lines: doc/VindexAsTable.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ One can think of a vindex as a table that looks like this:
10
10
create my_vdx(id int, keyspace_id varbinary(255)) // id can be of any type.
11
11
```
12
12
13
-
Looking at the vindex interface defined [here](https://github.com/vitessio/vitess/blob/master/go/vt/vtgate/vindexes/vindex.go), we can come up with SQL syntax that represents them:
13
+
Looking at the vindex interface defined [here](https://github.com/vitessio/vitess/blob/main/go/vt/vtgate/vindexes/vindex.go), we can come up with SQL syntax that represents them:
14
14
* Map: `select id, keyspace_id from my_vdx where id = :id`.
15
15
* Create: `insert into my_vdx values(:id, :keyspace_id)`.
16
16
* Delete: `delete from my_vdx where id = :id and keyspace_id :keyspace_id`.
Copy file name to clipboardExpand all lines: doc/releasenotes/8_0_0_release_notes.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -107,7 +107,7 @@ If a scatter query is attempting to collect and process too many rows in memory
107
107
108
108
109
109
### Set Statement Support
110
-
Set statement support is added in Vitess. There are [some system variables](https://github.com/vitessio/vitess/blob/master/go/vt/sysvars/sysvars.go#L147,L190) which are disabled by default and can be enabled using flag `-enable_system_settings` on VTGate.These system variables are set on the backing MySQL instance, and will force the connection to be dedicated instead of part of the connection pool.
110
+
Set statement support is added in Vitess. There are [some system variables](https://github.com/vitessio/vitess/blob/main/go/vt/sysvars/sysvars.go#L147,L190) which are disabled by default and can be enabled using flag `-enable_system_settings` on VTGate.These system variables are set on the backing MySQL instance, and will force the connection to be dedicated instead of part of the connection pool.
111
111
112
112
* Disabled passthrough system variables by default. #6859
113
113
* Allow switching workload between OLAP and OLTP #4086#6691
Copy file name to clipboardExpand all lines: doc/releasenotes/9_0_0_release_notes.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -100,7 +100,7 @@ Vitess 9.0 is not compatible with the previous release of the Vitess Kubernetes
100
100
101
101
### Set Statement Support
102
102
103
-
Set statement support has been added in Vitess. There are [some system variables](https://github.com/vitessio/vitess/blob/master/go/vt/sysvars/sysvars.go#L147,L190) which are disabled by default and can be enabled using flag `-enable_system_settings` on VTGate. These system variables are set on the mysql server. Because they change the mysql session, using them leads to the Vitess connection no longer using the connection pool and forcing dedicated connections.
103
+
Set statement support has been added in Vitess. There are [some system variables](https://github.com/vitessio/vitess/blob/main/go/vt/sysvars/sysvars.go#L147,L190) which are disabled by default and can be enabled using flag `-enable_system_settings` on VTGate. These system variables are set on the mysql server. Because they change the mysql session, using them leads to the Vitess connection no longer using the connection pool and forcing dedicated connections.
0 commit comments