Skip to content

Commit 4093857

Browse files
committed
resolved conflict
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2 parents c39e5a7 + a57ae93 commit 4093857

File tree

229 files changed

+8564
-4577
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

229 files changed

+8564
-4577
lines changed

.github/workflows/cluster_endtoend_onlineddl_vrepl.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,10 @@ jobs:
149149
binlog-transaction-compression=ON
150150
EOF
151151
152+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
153+
binlog-row-value-options=PARTIAL_JSON
154+
EOF
155+
152156
# run the tests however you normally do, then produce a JUnit XML file
153157
eatmydata -- go run test.go -docker=false -follow -shard onlineddl_vrepl | tee -a output.txt | go-junit-report -set-exit-code > report.xml
154158

.github/workflows/cluster_endtoend_onlineddl_vrepl_bench.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,10 @@ jobs:
149149
binlog-transaction-compression=ON
150150
EOF
151151
152+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
153+
binlog-row-value-options=PARTIAL_JSON
154+
EOF
155+
152156
# run the tests however you normally do, then produce a JUnit XML file
153157
eatmydata -- go run test.go -docker=false -follow -shard onlineddl_vrepl_bench | tee -a output.txt | go-junit-report -set-exit-code > report.xml
154158

.github/workflows/cluster_endtoend_onlineddl_vrepl_stress.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,10 @@ jobs:
149149
binlog-transaction-compression=ON
150150
EOF
151151
152+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
153+
binlog-row-value-options=PARTIAL_JSON
154+
EOF
155+
152156
# run the tests however you normally do, then produce a JUnit XML file
153157
eatmydata -- go run test.go -docker=false -follow -shard onlineddl_vrepl_stress | tee -a output.txt | go-junit-report -set-exit-code > report.xml
154158

.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,10 @@ jobs:
149149
binlog-transaction-compression=ON
150150
EOF
151151
152+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
153+
binlog-row-value-options=PARTIAL_JSON
154+
EOF
155+
152156
# run the tests however you normally do, then produce a JUnit XML file
153157
eatmydata -- go run test.go -docker=false -follow -shard onlineddl_vrepl_stress_suite | tee -a output.txt | go-junit-report -set-exit-code > report.xml
154158

.github/workflows/cluster_endtoend_onlineddl_vrepl_suite.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,10 @@ jobs:
149149
binlog-transaction-compression=ON
150150
EOF
151151
152+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
153+
binlog-row-value-options=PARTIAL_JSON
154+
EOF
155+
152156
# run the tests however you normally do, then produce a JUnit XML file
153157
eatmydata -- go run test.go -docker=false -follow -shard onlineddl_vrepl_suite | tee -a output.txt | go-junit-report -set-exit-code > report.xml
154158

.github/workflows/cluster_endtoend_schemadiff_vrepl.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,10 @@ jobs:
149149
binlog-transaction-compression=ON
150150
EOF
151151
152+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
153+
binlog-row-value-options=PARTIAL_JSON
154+
EOF
155+
152156
# run the tests however you normally do, then produce a JUnit XML file
153157
eatmydata -- go run test.go -docker=false -follow -shard schemadiff_vrepl | tee -a output.txt | go-junit-report -set-exit-code > report.xml
154158

.github/workflows/cluster_endtoend_vreplication_across_db_versions.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@ jobs:
166166
binlog-transaction-compression=ON
167167
EOF
168168
169+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
170+
binlog-row-value-options=PARTIAL_JSON
171+
EOF
172+
169173
# run the tests however you normally do, then produce a JUnit XML file
170174
eatmydata -- go run test.go -docker=false -follow -shard vreplication_across_db_versions | tee -a output.txt | go-junit-report -set-exit-code > report.xml
171175

.github/workflows/cluster_endtoend_vreplication_basic.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@ jobs:
166166
binlog-transaction-compression=ON
167167
EOF
168168
169+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
170+
binlog-row-value-options=PARTIAL_JSON
171+
EOF
172+
169173
# run the tests however you normally do, then produce a JUnit XML file
170174
eatmydata -- go run test.go -docker=false -follow -shard vreplication_basic | tee -a output.txt | go-junit-report -set-exit-code > report.xml
171175

.github/workflows/cluster_endtoend_vreplication_cellalias.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@ jobs:
166166
binlog-transaction-compression=ON
167167
EOF
168168
169+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
170+
binlog-row-value-options=PARTIAL_JSON
171+
EOF
172+
169173
# run the tests however you normally do, then produce a JUnit XML file
170174
eatmydata -- go run test.go -docker=false -follow -shard vreplication_cellalias | tee -a output.txt | go-junit-report -set-exit-code > report.xml
171175

.github/workflows/cluster_endtoend_vreplication_copy_parallel.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@ jobs:
166166
binlog-transaction-compression=ON
167167
EOF
168168
169+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
170+
binlog-row-value-options=PARTIAL_JSON
171+
EOF
172+
169173
# run the tests however you normally do, then produce a JUnit XML file
170174
eatmydata -- go run test.go -docker=false -follow -shard vreplication_copy_parallel | tee -a output.txt | go-junit-report -set-exit-code > report.xml
171175

.github/workflows/cluster_endtoend_vreplication_foreign_key_stress.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@ jobs:
166166
binlog-transaction-compression=ON
167167
EOF
168168
169+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
170+
binlog-row-value-options=PARTIAL_JSON
171+
EOF
172+
169173
# run the tests however you normally do, then produce a JUnit XML file
170174
eatmydata -- go run test.go -docker=false -follow -shard vreplication_foreign_key_stress | tee -a output.txt | go-junit-report -set-exit-code > report.xml
171175

.github/workflows/cluster_endtoend_vreplication_mariadb_to_mysql.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@ jobs:
166166
binlog-transaction-compression=ON
167167
EOF
168168
169+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
170+
binlog-row-value-options=PARTIAL_JSON
171+
EOF
172+
169173
# run the tests however you normally do, then produce a JUnit XML file
170174
eatmydata -- go run test.go -docker=false -follow -shard vreplication_mariadb_to_mysql | tee -a output.txt | go-junit-report -set-exit-code > report.xml
171175

.github/workflows/cluster_endtoend_vreplication_migrate.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@ jobs:
166166
binlog-transaction-compression=ON
167167
EOF
168168
169+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
170+
binlog-row-value-options=PARTIAL_JSON
171+
EOF
172+
169173
# run the tests however you normally do, then produce a JUnit XML file
170174
eatmydata -- go run test.go -docker=false -follow -shard vreplication_migrate | tee -a output.txt | go-junit-report -set-exit-code > report.xml
171175

.github/workflows/cluster_endtoend_vreplication_multi_tenant.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@ jobs:
166166
binlog-transaction-compression=ON
167167
EOF
168168
169+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
170+
binlog-row-value-options=PARTIAL_JSON
171+
EOF
172+
169173
# run the tests however you normally do, then produce a JUnit XML file
170174
eatmydata -- go run test.go -docker=false -follow -shard vreplication_multi_tenant | tee -a output.txt | go-junit-report -set-exit-code > report.xml
171175

.github/workflows/cluster_endtoend_vreplication_partial_movetables_and_materialize.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@ jobs:
166166
binlog-transaction-compression=ON
167167
EOF
168168
169+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
170+
binlog-row-value-options=PARTIAL_JSON
171+
EOF
172+
169173
# run the tests however you normally do, then produce a JUnit XML file
170174
eatmydata -- go run test.go -docker=false -follow -shard vreplication_partial_movetables_and_materialize | tee -a output.txt | go-junit-report -set-exit-code > report.xml
171175

.github/workflows/cluster_endtoend_vreplication_v2.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@ jobs:
166166
binlog-transaction-compression=ON
167167
EOF
168168
169+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
170+
binlog-row-value-options=PARTIAL_JSON
171+
EOF
172+
169173
# run the tests however you normally do, then produce a JUnit XML file
170174
eatmydata -- go run test.go -docker=false -follow -shard vreplication_v2 | tee -a output.txt | go-junit-report -set-exit-code > report.xml
171175

.github/workflows/cluster_endtoend_vreplication_vtctldclient_vdiff2_movetables_tz.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@ jobs:
166166
binlog-transaction-compression=ON
167167
EOF
168168
169+
cat <<-EOF>>./config/mycnf/mysql8026.cnf
170+
binlog-row-value-options=PARTIAL_JSON
171+
EOF
172+
169173
# run the tests however you normally do, then produce a JUnit XML file
170174
eatmydata -- go run test.go -docker=false -follow -shard vreplication_vtctldclient_vdiff2_movetables_tz | tee -a output.txt | go-junit-report -set-exit-code > report.xml
171175

.github/workflows/unit_test_evalengine_mysql57.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,9 @@ jobs:
163163
164164
export NOVTADMINBUILD=1
165165
export VTEVALENGINETEST="1"
166+
# We sometimes need to alter the behavior based on the platform we're
167+
# testing, e.g. MySQL 5.7 vs 8.0.
168+
export CI_DB_PLATFORM="mysql57"
166169
167170
eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml
168171

.github/workflows/unit_test_evalengine_mysql80.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,9 @@ jobs:
153153
154154
export NOVTADMINBUILD=1
155155
export VTEVALENGINETEST="1"
156+
# We sometimes need to alter the behavior based on the platform we're
157+
# testing, e.g. MySQL 5.7 vs 8.0.
158+
export CI_DB_PLATFORM="mysql80"
156159
157160
eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml
158161

.github/workflows/unit_test_evalengine_mysql84.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,9 @@ jobs:
153153
154154
export NOVTADMINBUILD=1
155155
export VTEVALENGINETEST="1"
156+
# We sometimes need to alter the behavior based on the platform we're
157+
# testing, e.g. MySQL 5.7 vs 8.0.
158+
export CI_DB_PLATFORM="mysql84"
156159
157160
eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml
158161

.github/workflows/unit_test_mysql57.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,9 @@ jobs:
163163
164164
export NOVTADMINBUILD=1
165165
export VTEVALENGINETEST="0"
166+
# We sometimes need to alter the behavior based on the platform we're
167+
# testing, e.g. MySQL 5.7 vs 8.0.
168+
export CI_DB_PLATFORM="mysql57"
166169
167170
eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml
168171

.github/workflows/unit_test_mysql80.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,9 @@ jobs:
153153
154154
export NOVTADMINBUILD=1
155155
export VTEVALENGINETEST="0"
156+
# We sometimes need to alter the behavior based on the platform we're
157+
# testing, e.g. MySQL 5.7 vs 8.0.
158+
export CI_DB_PLATFORM="mysql80"
156159
157160
eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml
158161

.github/workflows/unit_test_mysql84.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,9 @@ jobs:
153153
154154
export NOVTADMINBUILD=1
155155
export VTEVALENGINETEST="0"
156+
# We sometimes need to alter the behavior based on the platform we're
157+
# testing, e.g. MySQL 5.7 vs 8.0.
158+
export CI_DB_PLATFORM="mysql84"
156159
157160
eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml
158161

changelog/22.0/22.0.0/summary.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@
88
- **[RPC Changes](#rpc-changes)**
99
- **[Prefer not promoting a replica that is currently taking a backup](#reparents-prefer-not-backing-up)**
1010
- **[VTOrc Config File Changes](#vtorc-config-file-changes)**
11+
- **[Support for More Efficient JSON Replication](#efficient-json-replication)**
1112
- **[Minor Changes](#minor-changes)**
1213
- **[VTTablet Flags](#flags-vttablet)**
13-
14+
- **[Topology read concurrency behaviour changes](#topo-read-concurrency-changes)**
1415

1516
## <a id="major-changes"/>Major Changes</a>
1617

@@ -59,6 +60,12 @@ The following fields can be dynamically changed -
5960

6061
To upgrade to the newer version of the configuration file, first switch to using the flags in your current deployment before upgrading. Then you can switch to using the configuration file in the newer release.
6162

63+
### <a id="efficient-json-replication"/>Support for More Efficient JSON Replication</a>
64+
65+
In [#7345](https://github.com/vitessio/vitess/pull/17345) we added support for [`--binlog-row-value-options=PARTIAL_JSON`](https://dev.mysql.com/doc/refman/en/replication-options-binary-log.html#sysvar_binlog_row_value_options). You can read more about [this feature added to MySQL 8.0 here](https://dev.mysql.com/blog-archive/efficient-json-replication-in-mysql-8-0/).
66+
67+
If you are using MySQL 8.0 or later and using JSON columns, you can now enable this MySQL feature across your Vitess cluster(s) to lower the disk space needed for binary logs and improve the CPU and memory usage in both `mysqld` (standard intrashard MySQL replication) and `vttablet` ([VReplication](https://vitess.io/docs/reference/vreplication/vreplication/)) without losing any capabilities or features.
68+
6269

6370
## <a id="minor-changes"/>Minor Changes</a>
6471

@@ -67,3 +74,9 @@ To upgrade to the newer version of the configuration file, first switch to using
6774
- `twopc_abandon_age` flag now supports values in the time.Duration format (e.g., 1s, 2m, 1h).
6875
While the flag will continue to accept float values (interpreted as seconds) for backward compatibility,
6976
**float inputs are deprecated** and will be removed in a future release.
77+
78+
### <a id="topo-read-concurrency-changes"/>`--topo_read_concurrency` behaviour changes
79+
80+
The `--topo_read_concurrency` flag was added to all components that access the topology and the provided limit is now applied separately for each global or local cell _(default `32`)_.
81+
82+
All topology read calls _(`Get`, `GetVersion`, `List` and `ListDir`)_ now respect this per-cell limit. Previous to this version a single limit was applied to all cell calls and it was not respected by many topology calls.

config/mycnf/default.cnf

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@ secure-file-priv = {{.SecureFilePriv}}
1616

1717
server-id = {{.ServerID}}
1818

19-
# all db instances should skip starting replication threads - that way we can do any
20-
# additional configuration (like enabling semi-sync) before we connect to
21-
# the source.
22-
skip_slave_start
2319
socket = {{.SocketFile}}
2420
tmpdir = {{.TmpDir}}
2521

config/mycnf/mariadb10.cnf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# This file is auto-included when MariaDB 10 is detected.
22

3+
# all db instances should skip starting replication threads - that way we can do any
4+
# additional configuration (like enabling semi-sync) before we connect to
5+
# the source.
6+
skip_slave_start
7+
38
# Semi-sync replication is required for automated unplanned failover
49
# (when the primary goes away). Here we just load the plugin so it's
510
# available if desired, but it's disabled at startup.

config/mycnf/mysql57.cnf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# This file is auto-included when MySQL 5.7 is detected.
22

3+
# all db instances should skip starting replication threads - that way we can do any
4+
# additional configuration (like enabling semi-sync) before we connect to
5+
# the source.
6+
skip_slave_start
7+
38
# MySQL 5.7 does not enable the binary log by default, and
49
# info repositories default to file
510

config/mycnf/mysql80.cnf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# This file is auto-included when MySQL 8.0 is detected.
22

3+
# all db instances should skip starting replication threads - that way we can do any
4+
# additional configuration (like enabling semi-sync) before we connect to
5+
# the source.
6+
skip_slave_start
7+
38
# MySQL 8.0 enables binlog by default with sync_binlog and TABLE info repositories
49
# It does not enable GTIDs or enforced GTID consistency
510

config/mycnf/mysql8026.cnf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# This file is auto-included when MySQL 8.0.26 or later is detected.
22

3+
# all db instances should skip starting replication threads - that way we can do any
4+
# additional configuration (like enabling semi-sync) before we connect to
5+
# the source.
6+
skip_replica_start
7+
38
# MySQL 8.0 enables binlog by default with sync_binlog and TABLE info repositories
49
# It does not enable GTIDs or enforced GTID consistency
510

config/mycnf/mysql84.cnf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# This file is auto-included when MySQL 8.4.0 or later is detected.
22

3+
# all db instances should skip starting replication threads - that way we can do any
4+
# additional configuration (like enabling semi-sync) before we connect to
5+
# the source.
6+
skip_replica_start
7+
38
# MySQL 8.0 enables binlog by default with sync_binlog and TABLE info repositories
49
# It does not enable GTIDs or enforced GTID consistency
510

config/mycnf/sbr.cnf

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)