Skip to content
This repository has been archived by the owner on Dec 16, 2022. It is now read-only.

Commit

Permalink
Merge pull request #127 from tinyspeck/slack-vitess-2019.03.19r0
Browse files Browse the repository at this point in the history
Sync with upstream 2019.03.19 branch
  • Loading branch information
zmagg authored Mar 22, 2019
2 parents f0d747a + ec48bbd commit bf58a28
Show file tree
Hide file tree
Showing 854 changed files with 32,221 additions and 48,536 deletions.
4 changes: 4 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@ Version: a95cf5d (Git branch 'HEAD') built on Fri May 18 16:54:26 PDT 2018 by gi
OS, Architecture, and any other information you can provide
about the environment.
- Operating system (output of `cat /etc/os-release`):
- Kernel version (output of `uname -sr`):
- Architecture (output of `uname -m`):
#### Log Fragments
Include appropriate log fragments. If the log is longer than a few dozen lines, please
Expand Down
23 changes: 0 additions & 23 deletions .pullapprove.yml

This file was deleted.

25 changes: 13 additions & 12 deletions ADOPTERS.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
This is an alphabetical list of known adopters of Vitess. Some have already gone into production, and others are at various stages of testing.

* [YouTube](http://youtube.com)
* [Axon](http://axon.com)
* [BetterCloud](http://bettercloud.com)
* [FlipKart](http://flipkart.com)
* [HubSpot](http://product.hubspot.com/)
* [JD](http://jd.com/)
* [Nozzle](http://nozzle.io)
* [Pixel Federation](http://pixelfederation.com)
* [Quiz of Kings](http://quizofkings.com)
* [Slack](http://slack.com)
* [Square](http://square.com)
* [Stitch Labs](http://stitchlabs.com)
* [YouTube](https://youtube.com)
* [Axon](https://axon.com)
* [BetterCloud](https://bettercloud.com)
* [FlipKart](https://flipkart.com)
* [HubSpot](https://product.hubspot.com/)
* [JD](https://jd.com/)
* [Nozzle](https://nozzle.io)
* [Pinterest](https://pinterest.com)
* [Pixel Federation](https://pixelfederation.com)
* [Quiz of Kings](https://quizofkings.com)
* [Slack](https://slack.com)
* [Square](https://square.com)
* [Stitch Labs](https://stitchlabs.com)
23 changes: 1 addition & 22 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,5 @@
# Contributing to Vitess

## Before you contribute

### Individual contributor

Before we can use your code, you must sign the
[Google Individual Contributor License Agreement](https://cla.developers.google.com/about/google-individual)
(CLA), which you can do online. The CLA is necessary mainly because you own the
copyright to your changes, even after your contribution becomes part of our
codebase, so we need your permission to use and distribute your code. We also
need to be sure of various other things—for instance that you'll tell us if you
know that your code infringes on other people's patents. You don't have to sign
the CLA until after you've submitted your code for review and a member has
approved it, but you must do it before we can put your code into our codebase.

### Corporate contributor

Contributions made by corporations are covered by a different agreement than
the one above, the
[Software Grant and Corporate Contributor License Agreement](https://cla.developers.google.com/about/google-corporate).

## Workflow

For all contributors, we recommend the standard [GitHub flow](https://guides.github.com/introduction/flow/)
Expand All @@ -30,9 +10,8 @@ to let everyone know what you're planning to work on, and to track progress and

## Guidance for Novice Vitess Developers

**Please read [vitess.io/contributing/](http://vitess.io/contributing/)** where we provide more information:
**Please read [vitess.io/contributing/](https://vitess.io/contributing/)** where we provide more information:

* How to make yourself familiar with Go and Vitess.
* How to go through the GitHub workflow.
* What to look for during code reviews.

38 changes: 38 additions & 0 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
This page lists all active maintainers and their areas of expertise. This can be used for routing PRs, questions, etc. to the right place.

The following is the full list, alphabetically ordered.

* Dan Kozlowski ([dkhenry](https://github.com/dkhenry)) [email protected]
* David Weitzman ([dweitzman](https://github.com/dweitzman)) [email protected]
* Deepthi Sigireddi ([deepthi](https://github.com/deepthi)) [email protected]
* Derek Perkins ([derekperkins](https://github.com/derekperkins)) [email protected]
* Harshit Gangal ([harshit-gangal](https://github.com/harshit-gangal)) [email protected]
* Jon Tirsen ([tirsen](https://github.com/tirsen)) [email protected]
* Leo X. Lin ([leoxlin](https://github.com/leoxlin)) [email protected]
* Michael Demmer ([demmer](https://github.com/demmer)) [email protected]
* Michael Pawliszyn ([mpawliszyn](https://github.com/mpawliszyn)) [email protected]
* Rafael Chacon ([rafael](https://github.com/rafael)) [email protected]
* Sugu Sougoumarane ([sougou](https://github.com/sougou)) [email protected]

## Areas of expertise

### General Vitess
sougou, demmer, rafael, dweitzman, tirsen

### Builds
dkhenry

### Resharding
sougou, rafael, tirsen, dweitzman

### Parser
sougou, dweitzman, deepthi

### Backups
deepthi, rafael

### Java
mpawliszyn, leoxlin, harshit-gangal

### Kubernetes
derekperkins, dkhenry
26 changes: 25 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ $(PROTO_GO_OUTS): install_protoc-gen-go proto/*.proto
# Please read docker/README.md to understand the different available images.

# This rule builds the bootstrap images for all flavors.
DOCKER_IMAGES_FOR_TEST = mariadb mysql56 mysql57 percona percona57
DOCKER_IMAGES_FOR_TEST = mariadb mariadb103 mysql56 mysql57 mysql80 percona percona57 percona80
DOCKER_IMAGES = common $(DOCKER_IMAGES_FOR_TEST)
docker_bootstrap:
for i in $(DOCKER_IMAGES); do echo "building bootstrap image: $$i"; docker/bootstrap/build.sh $$i || exit 1; done
Expand All @@ -184,10 +184,18 @@ docker_base_mysql56:
chmod -R o=g *
docker build -f docker/base/Dockerfile.mysql56 -t vitess/base:mysql56 .

docker_base_mysql80:
chmod -R o=g *
docker build -f docker/base/Dockerfile.mysql56 -t vitess/base:mysql80 .

docker_base_mariadb:
chmod -R o=g *
docker build -f docker/base/Dockerfile.mariadb -t vitess/base:mariadb .

docker_base_mariadb103:
chmod -R o=g *
docker build -f docker/base/Dockerfile.mariadb -t vitess/base:mariadb103 .

docker_base_percona:
chmod -R o=g *
docker build -f docker/base/Dockerfile.percona -t vitess/base:percona .
Expand All @@ -196,6 +204,10 @@ docker_base_percona57:
chmod -R o=g *
docker build -f docker/base/Dockerfile.percona57 -t vitess/base:percona57 .

docker_base_percona80:
chmod -R o=g *
docker build -f docker/base/Dockerfile.percona57 -t vitess/base:percona80 .

# Run "make docker_lite PROMPT_NOTICE=false" to avoid that the script
# prompts you to press ENTER and confirm that the vitess/base image is not
# rebuild by this target as well.
Expand All @@ -205,15 +217,27 @@ docker_lite:
docker_lite_mysql56:
cd docker/lite && ./build.sh --prompt=$(PROMPT_NOTICE) mysql56

docker_lite_mysql57:
cd docker/lite && ./build.sh --prompt=$(PROMPT_NOTICE) mysql57

docker_lite_mysql80:
cd docker/lite && ./build.sh --prompt=$(PROMPT_NOTICE) mysql80

docker_lite_mariadb:
cd docker/lite && ./build.sh --prompt=$(PROMPT_NOTICE) mariadb

docker_lite_mariadb103:
cd docker/lite && ./build.sh --prompt=$(PROMPT_NOTICE) mariadb103

docker_lite_percona:
cd docker/lite && ./build.sh --prompt=$(PROMPT_NOTICE) percona

docker_lite_percona57:
cd docker/lite && ./build.sh --prompt=$(PROMPT_NOTICE) percona57

docker_lite_percona80:
cd docker/lite && ./build.sh --prompt=$(PROMPT_NOTICE) percona80

docker_lite_alpine:
cd docker/lite && ./build.sh --prompt=$(PROMPT_NOTICE) alpine

Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ Subscribe to
or the [Vitess Blog](https://blog.vitess.io/)
for low-frequency updates like new features and releases.

## Security

### Security Audit

A third party security audit was performed by Cure53. You can see the full report [here](doc/VIT-01-report.pdf).

## License

Unless otherwise noted, the Vitess source files are distributed
Expand Down
4 changes: 2 additions & 2 deletions bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -264,12 +264,12 @@ function install_chromedriver() {
local version="$1"
local dist="$2"

curl -sL "http://chromedriver.storage.googleapis.com/$version/chromedriver_linux64.zip" > chromedriver_linux64.zip
curl -sL "https://chromedriver.storage.googleapis.com/$version/chromedriver_linux64.zip" > chromedriver_linux64.zip
unzip -o -q chromedriver_linux64.zip -d "$dist"
rm chromedriver_linux64.zip
}
if [ "$BUILD_TESTS" == 1 ] ; then
install_dep "chromedriver" "2.44" "$VTROOT/dist/chromedriver" install_chromedriver
install_dep "chromedriver" "73.0.3683.20" "$VTROOT/dist/chromedriver" install_chromedriver
fi


Expand Down
2 changes: 1 addition & 1 deletion doc/Concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ This document defines common Vitess concepts and terminology.
## Keyspace

A *keyspace* is a logical database. In the unsharded case, it maps directly
to a MySQL database name. If [sharded](http://en.wikipedia.org/wiki/Shard_(database_architecture)),
to a MySQL database name. If [sharded](https://en.wikipedia.org/wiki/Shard_(database_architecture)),
a keyspace maps to multiple MySQL databases. However, it appears as a single
database to the application.

Expand Down
30 changes: 4 additions & 26 deletions doc/Contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

You want to contribute to Vitess? That's awesome!

In the past we have reviewed and accepted many external contributions. Examples are the Java JDBC driver, the PHP PDO driver or vtgate v3 improvements.

We're looking forward to any contribution! Before you start larger contributions, make sure to reach out first and discuss your plans with us.

This page describes for new contributors how to make yourself familiar with Vitess and the programming language Go.
Expand All @@ -27,14 +25,10 @@ It's a lot of fun and demonstrates how simple it is to write Go code.

### Go Readability

Internally at Google, code reviews are subject to an additional "readability" review.

A readability reviewer ensures that the reviewee is writing idiomatic code and following the programming language's style guide.

While there's no Go style guide, there is a set of recommendations in the Go community which add up to an implicit style guide.
To make sure you're writing idiomatic Go code, please read the following documents:

* Go Readablity slides: https://talks.golang.org/2014/readability.slide
* Go Readability slides: https://talks.golang.org/2014/readability.slide
* Talk about Go readability with many specific examples.
* "Effective Go": https://golang.org/doc/effective_go.html
* Recommendations for writing good Go code.
Expand All @@ -54,22 +48,6 @@ In our opinion, the song "Write in Go" from ScaleAbility, a Google acapella band

## Learning Vitess

Before diving into the Vitess codebase, make yourself familiar with the system and run it yourself:

* Read the [What is Vitess](/overview/) page, in particular the architecture section.

* Read the [Vitess concepts]({% link overview/concepts.md %}) and the [Sharding]({% link user-guide/sharding.md %}) page.

* We also recommend to look at our [latest presentations]({% link resources/presentations.md %}). They contain many illustrations which help understanding how Vitess works in detail.

* After studying the pages, try to answer the following question (click expand to see the answer):
<details>
<summary>
Let's assume a keyspace with 256 range-based shards: What is the name of the first, the second and the last shard?
</summary>
-01, 01-02, ff-
</details>

* Go through the [Vitess Kubernetes tutorial](/getting-started/).

* While going through the tutorial, look back at the [architecture](/overview/#architecture) and match the processes you start in Kubernetes with the boxes in the diagram.
Vitess is a complex distributed system. There are a few design docs in the `/doc` section. The best way to ramp up on vitess is by starting to use it.
Then, you can dive into the code to see how the various parts work. For questions, the best place to get them answered is by asking on the slack channel.
You can sign up to the channel by clicking on the top right link at vitess.io.
2 changes: 1 addition & 1 deletion doc/DesignDocs.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ The pages below this navigation entry "Design Docs" represent the design conside
that went behind some of the features implemented. They may not be necessarily up-to-date.

Also, some of the ideas here may just be experimental proposals, and it's possible
that such ideas might have been abandonned or not implemented yet.
that such ideas might have been abandoned or not implemented yet.
2 changes: 1 addition & 1 deletion doc/DockerBuild.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ point to the `vitess/lite` image on [Docker Hub](https://hub.docker.com/u/vitess
We created the `lite` image as a stripped down version of our main image `base` such that Kubernetes pods can start faster.
The `lite` image does not change very often and is updated manually by the Vitess team with every release.
In contrast, the `base` image is updated automatically after every push to the GitHub master branch.
For more information on the different images we provide, please read the [`docker/README.md` file](https://github.com/vitessio/vitess/tree/master/docker).
For more information on the different images we provide, please read the [`docker/README.md`](https://github.com/vitessio/vitess/tree/master/docker) file.

If your goal is run the latest Vitess code, the simplest solution is to use the bigger `base` image instead of `lite`.

Expand Down
10 changes: 5 additions & 5 deletions doc/GettingStarted.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,10 @@ OS X 10.11 (El Capitan) should work as well, the installation instructions are b

In addition, Vitess requires the software and libraries listed below.

1. [Install Go 1.11+](http://golang.org/doc/install).
1. [Install Go 1.11+](https://golang.org/doc/install).

2. Install [MariaDB 10.0](https://downloads.mariadb.org/) or
[MySQL 5.6](http://dev.mysql.com/downloads/mysql). You can use any
[MySQL 5.6](https://dev.mysql.com/downloads/mysql). You can use any
installation method (src/bin/rpm/deb), but be sure to include the client
development headers (`libmariadbclient-dev` or `libmysqlclient-dev`).

Expand Down Expand Up @@ -155,7 +155,7 @@ In addition, Vitess requires the software and libraries listed below.
#### OS X
1. [Install Homebrew](http://brew.sh/). If your /usr/local directory is not empty and you never used Homebrew before,
1. [Install Homebrew](https://brew.sh/). If your /usr/local directory is not empty and you never used Homebrew before,
it will be
[mandatory](https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/El_Capitan_and_Homebrew.md)
to run the following command:
Expand All @@ -168,7 +168,7 @@ In addition, Vitess requires the software and libraries listed below.
(install steps are below).
3. If Xcode is installed (with Console tools, which should be bundled automatically since the 7.1 version), all
the dev dependencies should be satisfied in this step. If no Xcode is present, it is necessery to install pkg-config.
the dev dependencies should be satisfied in this step. If no Xcode is present, it is necessary to install pkg-config.
``` sh
brew install pkg-config
Expand Down Expand Up @@ -365,7 +365,7 @@ lock service. ZooKeeper is included in the Vitess distribution.

Check the system-wide `file-max` setting as well as user-specific
`ulimit` values. We recommend setting them above 100K to be safe.
The exact [procedure](http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/)
The exact [procedure](https://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/)
may vary depending on your Linux distribution.

1. **Configure environment variables**
Expand Down
Loading

0 comments on commit bf58a28

Please sign in to comment.