Skip to content

Commit

Permalink
Add some docs on VTGate buffering for MoveTables and Reshard traffic …
Browse files Browse the repository at this point in the history
…switching

Signed-off-by: Matt Lord <mattalord@gmail.com>
  • Loading branch information
mattlord committed Apr 25, 2024
1 parent 123fcc3 commit 2b3fc2c
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 1 deletion.
2 changes: 1 addition & 1 deletion content/en/docs/20.0/concepts/move-tables.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: MoveTables
---

MoveTables is a new workflow based on VReplication. It enables you to relocate tables between keyspaces, and therefore physical MySQL instances, without downtime.
MoveTables is a workflow based on VReplication. It enables you to relocate tables between keyspaces, and therefore physical MySQL instances, without downtime.

## Identifying Candidate Tables

Expand Down
4 changes: 4 additions & 0 deletions content/en/docs/20.0/reference/features/vtgate-buffering.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,10 @@ outages/fail overs, etc.)
{{< /warning >}}


## What happens during a MoveTables or Reshard SwitchTraffic or ReverseTraffic with Buffering

... TODO

## How does it work?

The following steps are considerably simplified, but to give a high level
Expand Down
8 changes: 8 additions & 0 deletions content/en/docs/20.0/reference/vreplication/movetables.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,21 @@ It is too expensive to get real-time row counts of tables, using _count(*)_, say

[`switchtraffic`](../../programs/vtctldclient/vtctldclient_movetables/vtctldclient_movetables_switchtraffic/) switches traffic forward for the `tablet-types` specified. You can switch all traffic with just one command, and this is the default behavior. Note that you can now switch replica, rdonly, and primary traffic in any order.

{{< info >}}
Note that VTGate can [buffer queries](../../features/vtgate-buffering/) when switching traffic which can virtually eliminate any visible impact on application users.
{{</ info >}}

</div>

#### ReverseTraffic
<div class="cmd">

[`reversetraffic`](../../programs/vtctldclient/vtctldclient_movetables/vtctldclient_movetables_reversetraffic/) switches traffic in the reverse direction for the `tablet-types` specified. The traffic should have been previously switched forward using `SwitchTraffic` for the `cells` and `tablet-types` specified.

{{< info >}}
Note that VTGate can [buffer queries](../../features/vtgate-buffering/) when switching traffic which can virtually eliminate any visible impact on application users.
{{</ info >}}

</div>

#### Cancel
Expand Down
8 changes: 8 additions & 0 deletions content/en/docs/20.0/reference/vreplication/reshard.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,13 +64,21 @@ It is too expensive to get real-time row counts of tables, using _count(*)_, say

[`SwitchTraffic`](../../programs/vtctldclient/vtctldclient_movetables/vtctldclient_movetables_switchtraffic) switches traffic forward for the `tablet-types` specified. This replaces the previous `SwitchReads` and `SwitchWrites` commands with a single one. It is now possible to switch all traffic with just one command, and this is the default behavior. Also, you can now switch replica, rdonly and primary traffic in any order: earlier you needed to first `SwitchReads` (for replicas and rdonly tablets) first before `SwitchWrites`.

{{< info >}}
Note that VTGate can [buffer queries](../../features/vtgate-buffering/) when switching traffic which can virtually eliminate any visible impact on application users.
{{</ info >}}

</div>

#### ReverseTraffic
<div class="cmd">

[`ReverseTraffic`](../../programs/vtctldclient/vtctldclient_movetables/vtctldclient_movetables_reversetraffic/) switches traffic in the reverse direction for the `tablet-types` specified. The traffic should have been previously switched forward using `SwitchTraffic` for the `cells` and `tablet_types` specified.

{{< info >}}
Note that VTGate can [buffer queries](../../features/vtgate-buffering/) when switching traffic which can virtually eliminate any visible impact on application users.
{{</ info >}}

</div>

#### Cancel
Expand Down

0 comments on commit 2b3fc2c

Please sign in to comment.