Closed bnu0 closed 1 year ago
Note: this does NOT appear to happen using Mysql56Compatible: "vitess/lite:v7.0.1",
instead of mariadb103
I think i finally figured this out, and it was only happening when the lowest numbered vt_dba
connection issues the query (i.e. when that connection from the pool is chosen). KILL
-ing that connection to force it to receive new privileges seems to fix it, which seems like a race condition... (my init_db.sql
ends with FLUSH PRIVILEGES;
)
Nice catch! Thanks for chasing this down. One of us will take a look.
If anyone hits this issue and needs a workaround, you can add
KILL CONNECTION USER vt_dba;
to the end of your init_db.sql
(after FLUSH PRIVILEGES
).
I think what is happening is that vttablet is establishing a vt_dba
connection before the init script completes, which is succeeding using the built-in anonymous grants (''@localhost
?) but of course has no access to do anything meaningful with these grants, and the FLUSH
does not affect already-connected sessions.
I'm going to close this for now as it's not clear what issue there is to address here and MariaDB is no longer supported in Vitess 14.0 and later (17.0 the latest GA as of today). If we ever do add MariaDB back as a fully supported database then there will be a lot of work needed to get there and fixing the underlying causes here would be some of them — if they still exist at the time.
Hello, I am wondering if anyone has seen something similar:
I am getting occasional (every ~45 seconds) errors on replica tablets that cause them to go to
not serving
state.I am running vitess on k8s using the planetscale operator, using
Mariadb103Compatible: "vitess/lite:mariadb103"
and defaultinit_db.sql
, etc. Everything seems to be working fine except that replica tablets are occasionally marking themselves unhealthy for a couple seconds with the following error:But they quickly mark themselves healthy again:
I have confirmed that
vt_dba
has no issues whatsoever issuing the command:And we see the following in the
vttablet
logs:And from the vitess code, it certainly looks like the
dbaPool
is used to issue this command, so i cannot figure out why i would get this error.Binary version
I am using the
vitess/lite:7.0.1
images:MariaDB is
mysql Ver 15.1 Distrib 10.3.24-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Operating system and Environment details
Debian GNU/Linux 10 (buster)
Linux 4.19.0-10-amd64
x86_64