Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into upgrade-test-version
Browse files Browse the repository at this point in the history
  • Loading branch information
frouioui committed Feb 8, 2023
2 parents e5f95c4 + 4f110a0 commit 5cd3eae
Show file tree
Hide file tree
Showing 31 changed files with 310 additions and 616 deletions.
4 changes: 0 additions & 4 deletions deploy/crds/planetscale.com_vitessclusters.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1023,8 +1023,6 @@ spec:
type: object
replication:
properties:
enforceSemiSync:
type: boolean
initializeBackup:
type: boolean
initializeMaster:
Expand Down Expand Up @@ -1376,8 +1374,6 @@ spec:
type: object
replication:
properties:
enforceSemiSync:
type: boolean
initializeBackup:
type: boolean
initializeMaster:
Expand Down
4 changes: 0 additions & 4 deletions deploy/crds/planetscale.com_vitesskeyspaces.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -259,8 +259,6 @@ spec:
type: object
replication:
properties:
enforceSemiSync:
type: boolean
initializeBackup:
type: boolean
initializeMaster:
Expand Down Expand Up @@ -612,8 +610,6 @@ spec:
type: object
replication:
properties:
enforceSemiSync:
type: boolean
initializeBackup:
type: boolean
initializeMaster:
Expand Down
2 changes: 0 additions & 2 deletions deploy/crds/planetscale.com_vitessshards.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -242,8 +242,6 @@ spec:
type: string
replication:
properties:
enforceSemiSync:
type: boolean
initializeBackup:
type: boolean
initializeMaster:
Expand Down
2 changes: 0 additions & 2 deletions deploy/example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@ spec:
databaseInitScriptSecret:
name: example-cluster-config
key: init_db.sql
replication:
enforceSemiSync: true
tabletPools:
- cell: gcpuswest1b
type: replica
Expand Down
25 changes: 1 addition & 24 deletions docs/api/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5800,7 +5800,7 @@ <h3 id="planetscale.com/v2.VitessKeyspaceTemplate">VitessKeyspaceTemplate
<td>
<p>VitessOrchestrator deploys a set of Vitess Orchestrator (vtorc) servers for the Keyspace.
It is highly recommended that you set disable_active_reparents=true
and enable_semi_sync=false for the vtablets if enabling vtorc.</p>
for the vttablets if enabling vtorc.</p>
</td>
</tr>
<tr>
Expand Down Expand Up @@ -6198,29 +6198,6 @@ <h3 id="planetscale.com/v2.VitessReplicationSpec">VitessReplicationSpec
<tbody>
<tr>
<td>
<code>enforceSemiSync</code></br>
<em>
bool
</em>
</td>
<td>
<p>EnforceSemiSync means Vitess will configure MySQL to require semi-sync
acknowledgement of all transactions while forbidding fallback to
asynchronous replication under any circumstance.</p>
<p>Note that this is different from merely <em>enabling</em> semi-sync, which in
its default configuration allows fallback to asynchronous replication
if no replicas are connected or if they don&rsquo;t respond after a few seconds.
Enforced semi-sync is a mode that prefers master unavailability when
durability cannot be ensured, rather than risking the loss of data that
was already reported to clients as committed.</p>
<p>WARNING: Do not enable this if the shard has fewer than 3 master-eligible
replicas, as that may lead to master unavailability during routine
maintenance.</p>
<p>Default: Semi-sync is not enforced.</p>
</td>
</tr>
<tr>
<td>
<code>initializeMaster</code></br>
<em>
bool
Expand Down
29 changes: 29 additions & 0 deletions docs/release-notes/2_9_0_summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
## Major Changes

### EnforceSemiSync Removal

The config `enforceSemiSync` is removed from the `VitessReplicationSpec`. This configuration is no longer requied.
If the users want to configure semi-sync replication, they should set the `durabilityPolicy` config to `semi_sync` in the keyspace specification.
This change of not using `enforceSemiSync` should be done before upgrading to `2.9.0` version of the operator otherwise the configuration would not be accepted.

### VTOrc becomes mandatory

VTOrc is now a **required** component of Vitess starting from v16. So, the vitess-operator will always run
a VTOrc instance for a keyspace, even if its configuration is unspecified.

### MySQL Upgrade Path

With the latest version of Vitess (`v16.0.0`) the default MySQL version changed from `5.7` to `8.0.30`.
Meaning that the `vitess/lite:v15.0.2` and `vitess/lite:v16.0.0` are running different MySQL major version.
If you want to remain on MySQL 5.7, we invite you to use `vitess/lite:v16.0.0-mysql57`.

Otherwise, if you were already running MySQL 8.0, with for instance `vitess/lite:v15.0.2-mysql80`, note that here the patch version of MySQL will also change between `v15` and `v16`.
In `v16.0.0` we are bumping the patch version of MySQL 80 from `8.0.23` to `8.0.30`.
In order for you to correctly upgrade, there is a certain path to follow:

1. Add `innodb_fast_shutdown=0` to your extra cnf in your YAML file.
2. Apply this file.
3. Wait for all the pods to be healthy.
4. Then change your YAML file to use the new Docker Images (`vitess/lite:v16.0.0`, defaults to mysql80).
5. Remove `innodb_fast_shutdown=0` from your extra cnf in your YAML file.
6. Apply this file.
50 changes: 26 additions & 24 deletions docs/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,31 @@ build/Dockerfile.release
go.mod
```

### Update Compatibility Table

Add a new entry for the planned minor version to the [compatibility table](https://github.com/planetscale/vitess-operator/blob/main/README.md#compatibility)
in the README file.

The recommended Kubernetes versions depend on the version of the Kubernetes
client libs that Vitess Operator uses:

https://github.com/planetscale/vitess-operator/blob/111ac173e1c473853e66e270486ba8a9a47ecc54/go.mod#L35

The recommended server versions are those that match the minor version for the
client libraries, as well as server versions that are +/- one minor version
relative to the client libraries.

Note that we don't necessarily update to newer Kubernetes libraries at the same
time that we update to build against a newer Vitess release.
The Kubernetes library version is determined by the version of [Operator SDK](https://github.com/operator-framework/operator-sdk)
that's in use.

### Update the test output

The `upgrade.sh`, `backup_restore_test.sh` and `vtorc_vtadmin_test.sh` files must be updated with the proper release increment. Change the `verifyVtGateVersion` function calls to use the proper version (next version and new old version).

## Cut Release

### Update Vitess Dependency

Each Vitess Operator minor version (`vX.Y.*`) is intended to correspond to a
Expand All @@ -45,30 +70,7 @@ so this command would update Vitess Operator to build against Vitess v9.0.0:
go get vitess.io/vitess@daa60859822ff85ce18e2d10c61a27b7797ec6b8
```

### Update Compatibility Table

Add a new entry for the planned minor version to the [compatibility table](https://github.com/planetscale/vitess-operator/blob/main/README.md#compatibility)
in the README file.

The recommended Kubernetes versions depend on the version of the Kubernetes
client libs that Vitess Operator uses:

https://github.com/planetscale/vitess-operator/blob/111ac173e1c473853e66e270486ba8a9a47ecc54/go.mod#L35

The recommended server versions are those that match the minor version for the
client libraries, as well as server versions that are +/- one minor version
relative to the client libraries.

Note that we don't necessarily update to newer Kubernetes libraries at the same
time that we update to build against a newer Vitess release.
The Kubernetes library version is determined by the version of [Operator SDK](https://github.com/operator-framework/operator-sdk)
that's in use.

### Update the test output

The `upgrade.sh`, `backup_restore_test.sh` and `vtorc_vtadmin_test.sh` files must be updated with the proper release increment. Change the `verifyVtGateVersion` function calls to use the proper version (next version and new old version).

## Cut Release
### Release

After the PR from the prepare phase is merged, make sure your local git dir is
up-to-date with HEAD, and then create a temporary release branch on top of the long-term release branch, for instance:
Expand Down
6 changes: 4 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ require (
github.com/ahmetb/gen-crd-api-reference-docs v0.1.5-0.20190629210212-52e137b8d003
github.com/planetscale/operator-sdk-libs v0.0.0-20220216002626-1af183733234
github.com/prometheus/client_golang v1.14.0
github.com/sirupsen/logrus v1.8.1
github.com/sirupsen/logrus v1.9.0
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.8.1
gopkg.in/yaml.v2 v2.4.0
Expand All @@ -20,7 +20,7 @@ require (
sigs.k8s.io/controller-runtime v0.13.1
sigs.k8s.io/controller-tools v0.6.2
sigs.k8s.io/kustomize v2.0.3+incompatible
vitess.io/vitess v0.10.3-0.20221201003815-22067c7a4e33
vitess.io/vitess v0.10.3-0.20230127083157-f33b86219ddc
)

require (
Expand Down Expand Up @@ -117,13 +117,15 @@ require (
github.com/pierrec/lz4 v2.6.1+incompatible // indirect
github.com/pires/go-proxyproto v0.6.2 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/planetscale/log v0.0.0-20221118170849-fb599bc35c50 // indirect
github.com/planetscale/pargzip v0.0.0-20201116224723-90c7fc03ea8a // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/prometheus/client_model v0.3.0 // indirect
github.com/prometheus/common v0.37.0 // indirect
github.com/prometheus/procfs v0.8.0 // indirect
github.com/rivo/uniseg v0.4.3 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/slok/noglog v0.2.0 // indirect
github.com/spf13/cobra v1.6.1 // indirect
github.com/spyzhov/ajson v0.7.1 // indirect
github.com/tinylib/msgp v1.1.6 // indirect
Expand Down
17 changes: 13 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kB
github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM=
github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs=
github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA=
Expand Down Expand Up @@ -263,6 +264,7 @@ github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh
github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g=
github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
github.com/gobuffalo/flect v0.2.3 h1:f/ZukRnSNA/DUpSNDadko7Qc0PhGvsew35p/2tu+CRY=
Expand Down Expand Up @@ -486,8 +488,8 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
Expand Down Expand Up @@ -608,6 +610,8 @@ github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
github.com/planetscale/log v0.0.0-20221118170849-fb599bc35c50 h1:yf0iVpE57riOj2+cLr6Fy6qX6eCLc5RLK3Kc70apP6c=
github.com/planetscale/log v0.0.0-20221118170849-fb599bc35c50/go.mod h1:SE8Q9QtLD8tfq8bM7rGLJnnWfmxt6mTXGkfGbft1vJI=
github.com/planetscale/operator-sdk-libs v0.0.0-20220216002626-1af183733234 h1:eZq30n4fQQitUxpq7bQgS/+76UNTiHyZZs+FWrp4l7E=
github.com/planetscale/operator-sdk-libs v0.0.0-20220216002626-1af183733234/go.mod h1:8bfv5h15q1QE08aUOIUQWHhXHgAcCKNtFcg4SfOJVjg=
github.com/planetscale/pargzip v0.0.0-20201116224723-90c7fc03ea8a h1:y0OpQ4+5tKxeh9+H+2cVgASl9yMZYV9CILinKOiKafA=
Expand Down Expand Up @@ -658,6 +662,7 @@ github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUc
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
Expand All @@ -670,8 +675,11 @@ github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/slok/noglog v0.2.0 h1:1czu4l2EoJ8L92UwdSXXa1Y+c5TIjFAFm2P+mjej95E=
github.com/slok/noglog v0.2.0/go.mod h1:TfKxwpEZPT+UA83bQ6RME146k0MM4e8mwHLf6bhcGDI=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s=
Expand Down Expand Up @@ -1040,6 +1048,7 @@ golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
Expand Down Expand Up @@ -1402,5 +1411,5 @@ sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ih
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
vitess.io/vitess v0.10.3-0.20221201003815-22067c7a4e33 h1:d3OJ35rHazDpkwr9phHq9KforCGdteA4mRG4eZZCeyk=
vitess.io/vitess v0.10.3-0.20221201003815-22067c7a4e33/go.mod h1:eM319kvXw+Kx70ep3eh/38+wnZ5uO/Seg5MNCRKMYv0=
vitess.io/vitess v0.10.3-0.20230127083157-f33b86219ddc h1:fQoxZRkQetcWHcCiVGcQzgBw95W3bdCkJR6Em1mN1ic=
vitess.io/vitess v0.10.3-0.20230127083157-f33b86219ddc/go.mod h1:GzcUu3r7BxTPNKyV7GQlhlWeR/SNXJ56XgskaukxTE0=
3 changes: 3 additions & 0 deletions pkg/apis/planetscale/v2/defaults.go
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,9 @@ const (
DefaultMysqlPortName = "mysql"

defaultVitessLiteImage = "vitess/lite:latest"

DefaultInitCPURequestMillis = 100
DefaultInitMemoryRequestBytes = 32 * (1 << 20) // 32 MiB
)

// DefaultImages are a set of images to use when the CRD doesn't specify.
Expand Down
4 changes: 2 additions & 2 deletions pkg/apis/planetscale/v2/vitesskeyspace_defaults.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ func DefaultVitessKeyspace(dst *VitessKeyspace) {
}

func DefaultVitessOrchestrator(vtorc **VitessOrchestratorSpec) {
// If no vtorc is specified, we don't launch any.
// If no vtorc is specified, we want to start one since it is now a mandatory component of Vitess.
if *vtorc == nil {
return
*vtorc = &VitessOrchestratorSpec{}
}
if len((*vtorc).Resources.Requests) == 0 {
(*vtorc).Resources.Requests = corev1.ResourceList{
Expand Down
2 changes: 1 addition & 1 deletion pkg/apis/planetscale/v2/vitesskeyspace_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ type VitessKeyspaceTemplate struct {

// VitessOrchestrator deploys a set of Vitess Orchestrator (vtorc) servers for the Keyspace.
// It is highly recommended that you set disable_active_reparents=true
// and enable_semi_sync=false for the vtablets if enabling vtorc.
// for the vttablets if enabling vtorc.
VitessOrchestrator *VitessOrchestratorSpec `json:"vitessOrchestrator,omitempty"`

// Partitionings specify how to divide the keyspace up into shards by
Expand Down
18 changes: 0 additions & 18 deletions pkg/apis/planetscale/v2/vitessshard_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -129,24 +129,6 @@ type VitessShardTemplate struct {

// VitessReplicationSpec specifies how Vitess will set up MySQL replication.
type VitessReplicationSpec struct {
// EnforceSemiSync means Vitess will configure MySQL to require semi-sync
// acknowledgement of all transactions while forbidding fallback to
// asynchronous replication under any circumstance.
//
// Note that this is different from merely *enabling* semi-sync, which in
// its default configuration allows fallback to asynchronous replication
// if no replicas are connected or if they don't respond after a few seconds.
// Enforced semi-sync is a mode that prefers master unavailability when
// durability cannot be ensured, rather than risking the loss of data that
// was already reported to clients as committed.
//
// WARNING: Do not enable this if the shard has fewer than 3 master-eligible
// replicas, as that may lead to master unavailability during routine
// maintenance.
//
// Default: Semi-sync is not enforced.
EnforceSemiSync bool `json:"enforceSemiSync,omitempty"`

// InitializeMaster specifies whether to choose an initial master for a
// new or restored shard that has no master yet.
//
Expand Down
Loading

0 comments on commit 5cd3eae

Please sign in to comment.