Closed morgo closed 2 years ago
Hi team! Do you have any plans for when to fully support MariaDB 10.4? Thanks
@askdba can you post the latest status here?
Currently, we're evaluating and testing MariaDB 10.4 compatibility and engaging with MariaDB to resolve this issue. We plan to make progress in the coming weeks on this.
Thanks @askdba !
Started investigating this issue with local docker build against MariaDB 10.4
There were initial errors:
/vt/src/vitess.io/vitess/go/cmd/vtctldclient/main.go:41 +0x126
I0127 12:51:28.973345 1038 main.go:67] I0127 12:51:28.970629 tablet_executor.go:240] Received DDL request. strategy=direct
W0127 12:51:38.986194 1038 main.go:67] W0127 12:51:38.984720 schema.go:107] Failed to reload schema on replica tablet zone1-0000000102 in commerce/0 (use vtctl ReloadSchema to try again): rpc error: code = DeadlineExceeded desc = context deadline exceeded
W0127 12:51:38.988819 1038 main.go:67] W0127 12:51:38.985909 schema.go:107] Failed to reload schema on replica tablet zone1-0000000101 in commerce/0 (use vtctl ReloadSchema to try again): rpc error: code = DeadlineExceeded desc = context deadline exceeded
I0127 12:51:38.991125 1038 main.go:67] I0127 12:51:38.990194 tablet_executor.go:240] Received DDL request. strategy=direct
W0127 12:51:49.003539 1038 main.go:67] W0127 12:51:49.002249 schema.go:107] Failed to reload schema on replica tablet zone1-0000000102 in commerce/0 (use vtctl ReloadSchema to try again): rpc error: code = DeadlineExceeded desc = context deadline exceeded
W0127 12:51:49.005873 1038 main.go:67] W0127 12:51:49.002366 schema.go:107] Failed to reload schema on replica tablet zone1-0000000101 in commerce/0 (use vtctl ReloadSchema to try again): rpc error: code = DeadlineExceeded desc = context deadline exceeded
I0127 12:51:49.006843 1038 main.go:67] I0127 12:51:49.002479 tablet_executor.go:240] Received DDL request. strategy=direct
W0127 12:51:59.020102 1038 main.go:67] W0127 12:51:59.017486 schema.go:107] Failed to reload schema on replica tablet zone1-0000000102 in commerce/0 (use vtctl ReloadSchema to try again): rpc error: code = DeadlineExceeded desc = context deadline exceeded
W0127 12:51:59.020863 1038 main.go:67] W0127 12:51:59.017623 schema.go:107] Failed to reload schema on replica tablet zone1-0000000101 in commerce/0 (use vtctl ReloadSchema to try again): rpc error: code = DeadlineExceeded desc = context deadline exceeded
New VSchema object:
Later cluster came up as follows:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.7.9-Vitess mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]> \s
--------------
mysql Ver 15.1 Distrib 10.4.17-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Connection id: 1
Current database:
Current user: vt_app@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server: MySQL
Server version: 5.7.9-Vitess mariadb.org binary distribution
Protocol version: 10
Connection: 127.0.0.1 via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
TCP port: 15306
--------------
MySQL [(none)]> select @@version;
+--------------------------------------------+
| @@version |
+--------------------------------------------+
| 10.4.17-MariaDB-1:10.4.17+maria~buster-log |
+--------------------------------------------+
1 row in set (0.003 sec)
Only single tablet serving :
MySQL [(none)]> show vitess_tablets;
+-------+----------+-------+------------+-------------+------------------+--------------+----------------------+
| Cell | Keyspace | Shard | TabletType | State | Alias | Hostname | MasterTermStartTime |
+-------+----------+-------+------------+-------------+------------------+--------------+----------------------+
| zone1 | commerce | 0 | MASTER | SERVING | zone1-0000000100 | 7dc55e26e778 | 2021-01-27T12:50:58Z |
| zone1 | commerce | 0 | REPLICA | NOT_SERVING | zone1-0000000101 | 7dc55e26e778 | |
| zone1 | commerce | 0 | RDONLY | NOT_SERVING | zone1-0000000102 | 7dc55e26e778 | |
+-------+----------+-------+------------+-------------+------------------+--------------+----------------------+
vitess@7dc55e26e778:/vt/local$ vtctl -version
ERROR: logging before flag.Parse: E0127 13:13:48.186764 1908 syslogger.go:149] can't connect to syslog
Version: e259a08f0 (Git branch 'mariadb104_compatibility') built on Wed Jan 27 12:44:06 UTC 2021 by vitess@adc40b5d1fb0 using go1.15.6 linux/amd64
Looking further into draft PR https://github.com/vitessio/vitess/pull/7318
@askdba can you please illustrate the steps to reproduce? I want to look at the ApplySchema
command you executed. How did you build and what did you run, exactly?
@shlomi-noach steps to build MariaDB 10.4
make docker_local run.sh using that hash that make generates.
I will create a draft PR so you can see my changes. I'm also testing suggestions from the draft PR #7318 suggestions around config/init_db.sql. I think there are changes needs for replication setup as well.
I'm going to close this as won't fix for now given the deprecation notice in https://github.com/vitessio/vitess/issues/9518.
Overview of the Issue
MariaDB is now supported by mysqlctl, but it fails the simple local example in reparenting. We will need to investigate the reason and fix it.