Current Percona XtraDB Cluster Version: 8.0.41-32 (2025-03-13)
We have a situation where running invalid SQL queries that produce deprecation warnings causes nodes to be ejected from the cluster. For instance in the example log output below, a migration is trying to create a table that already exists. One node, just returns the ‘table already exists’ error, while another node includes some deprecation warnings about defining Int width as well. My understanding is this causes the hashes they generate with the error for the re-vote to be different, and thus eject one of the nodes that seems to be inconsistent.
So I have two questions. First, we could try and suppress all deprecation warnings, but I haven’t found a straight forward way to do that in MySQL. We can suppress all warnings in general with log_error_verbosity=1
, but that seems like overkill, and obviously has the downside of suppressing warnings. Is there a better way to handle this for all deprecation warnings that may get reported differently across nodes?
The second question is, has this problem come up before and is there a more general recommendation from Percona or Galera for handling this? I could not find any discussions related to this issue, but seems like it could be a common problem. I don’t know if this is correct, but ChatGPT was suggesting that this could happen because the original node is parsing the entire statement and generating the deprecation warnings, while other nodes are using “replay a replicated write-set (RBR)” which doesn’t parse the entire statement for deprecation warnings. I believe XtraDB Clustering/Galera aren’t using standard MySQL replication, but something else, so not sure if that’s related or not. Either way, different errors are being generated on different nodes, ultimately causing this problem, and I’d like to understand this best way to address this.
Any help here is greatly appreciated!
Here are the logs indicating the issue:
2025-08-19T20:19:22.477485Z 0 [Note] [MY-000000] [Galera] Member 1(dev-mysql-01) initiates vote on 40edfb85-4247-11f0-a4ca-eed470f8c373:544806,8f520538a60f5195: Table 'users' already exists, Error_code: 1050;
2025-08-19T20:19:22.477596Z 0 [Note] [MY-000000] [Galera] Recomputed vote based on error codes: 1050. New vote df478899fb6e67d7 will be used for further steps. Old Vote: 8f520538a60f5195
2025-08-19T20:19:22.477610Z 0 [Note] [MY-000000] [Galera] Votes over 40edfb85-4247-11f0-a4ca-eed470f8c373:544806:
df478899fb6e67d7: 1/2
Waiting for more votes.
2025-08-19T20:19:22.478740Z 0 [Note] [MY-000000] [Galera] Member 0(dev-mysql-03) initiates vote on 40edfb85-4247-11f0-a4ca-eed470f8c373:544806,eeba60c51ddac56a: Integer display width is deprecated and will be removed in a future release., Error_code: 1681; Integer display width is deprecated and will be removed in a future release., Error_code: 1681; Table 'users' already exists, Error_code: 1050;
2025-08-19T20:19:22.478823Z 0 [Note] [MY-000000] [Galera] Recomputed vote based on error codes: 1050, 1681, 1681. New vote ead16751af531ade will be used for further steps. Old Vote: eeba60c51ddac56a
2025-08-19T20:19:22.478833Z 0 [Note] [MY-000000] [Galera] Votes over 40edfb85-4247-11f0-a4ca-eed470f8c373:544806:
df478899fb6e67d7: 1/2
ead16751af531ade: 1/2
Winner: ead16751af531ade
2025-08-19T20:19:22.478903Z 533443 [ERROR] [MY-000000] [Galera] Inconsistency detected: Inconsistent by consensus on 40edfb85-4247-11f0-a4ca-eed470f8c373:544806
at ../../../../percona-xtradb-cluster-galera/galera/src/replicator_smm.cpp:process_apply_error():1458
...