[MDEV-20087] Galera + SET SQL_LOG_BIN=0 on binlog on others nodes Created: 2019-07-18 Updated: 2023-06-08 Resolved: 2023-04-11 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Galera |
| Affects Version/s: | 10.1.39, 10.3.14, 10.3.15, 10.3.16 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | Aurélien LEQUOY | Assignee: | Jan Lindström (Inactive) |
| Resolution: | Won't Fix | Votes: | 2 |
| Labels: | galera, innodb, regression, replication | ||
| Environment: |
Debian 9.8 + MariaDB 10.3 |
||
| Issue Links: |
|
||||||||||||||||
| Description |
|
On node 1 :
On node 2 :
Ok that's normal behavior ! But if I look in binlog I got this : On node 1 :
That's normal behavior too On node 2 :
WTF ? these lines should be not there. As i Remember I pushed a bug for this in 10.0 (or similar), and it's happen again ! (could you please add this in test case the same with 'SET @@skip_replication = ON;'. My goal was to load a database (I developed my own script to load) in a galera cluster of production (with other databases) but node 2 crashed because the size of binlog on other node took all disk space. |
| Comments |
| Comment by Geoff Montee (Inactive) [ 2019-07-18 ] | |||||||||||||||||||||
|
As a workaround, instead of setting sql_log_bin=0, you could try setting wsrep_on=OFF for your session. e.g.:
When used as a session variable, setting wsrep_on=OFF prevents that session's statements and transactions from replicating to the other cluster nodes, but other sessions replicate to the cluster, as usual. | |||||||||||||||||||||
| Comment by Geoff Montee (Inactive) [ 2019-07-18 ] | |||||||||||||||||||||
|
See the note in the documentation:
https://mariadb.com/kb/en/library/replication-and-binary-log-system-variables/#sql_log_bin Everything seems to be working as expected. The other nodes have these statements in their binary logs because the statements were replicated to those nodes. If you do not want the statements to be replicated to those nodes, then you would need to set wsrep_on=OFF for your session. Can you please clarify what exactly you expect to happen in this situation? | |||||||||||||||||||||
| Comment by Aurélien LEQUOY [ 2019-07-19 ] | |||||||||||||||||||||
|
Hello, it's not a work around at all !!!
On node 2 (of course )
And create database on binary log on node 1 and i don't want this I want my data on all nodes of galera cluster, but in nothing on Binlog on all nodes. GaleraCluster act like one server, it's should be on binlog of no one. My goal I want apply a script SQL for all cluster, but not for the slaves behind !!! And launch X times time the same process for X nodes is not a solution, because one could finish and an other one could fail and back in SST. | |||||||||||||||||||||
| Comment by Aurélien LEQUOY [ 2019-07-19 ] | |||||||||||||||||||||
|
it's opposite option of : https://jira.mariadb.org/browse/MDEV-7203 look : https://jira.mariadb.org/browse/MDEV-7205 interesting discution there ! for me it's a bug or a miss for 100% and not logical to have no binary log on one node and got this in binary logs for the others ! | |||||||||||||||||||||
| Comment by Geoff Montee (Inactive) [ 2019-07-19 ] | |||||||||||||||||||||
|
Unfortunately, in Galera Cluster, the binary logs on all nodes are not guaranteed to be consistent. There are many ways that they can become inconsistent. Setting sql_log_bin=0 on one node is one of those ways. Galera Cluster does respect log_slave_updates, so if you want to execute a large transaction in Galera Cluster, and if you don't want the nodes that replicate the transaction to write it to their binary log, then you could temporarily set log_slave_updates=OFF on those nodes. https://mariadb.com/kb/en/library/replication-and-binary-log-system-variables/#log_slave_updates | |||||||||||||||||||||
| Comment by Matthias Rampke (Inactive) [ 2021-11-05 ] | |||||||||||||||||||||
The documentation on Wsrep GTID mode suggests that inconsistent GTIDs are a bug. As per that page, I would like to report that
Prior to |