[MDEV-33211] Galera SST on maria-backup causes donor node to be unresponsive Created: 2024-01-10 Updated: 2024-01-26 |
|
| Status: | In Progress |
| Project: | MariaDB Server |
| Component/s: | mariabackup |
| Affects Version/s: | 10.11.6 |
| Fix Version/s: | 10.11 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Michael Widenius | Assignee: | Jan Lindström |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Description |
|
Scenario:
At some point during the SST, the node stops responding to DML queries for long times. |
| Comments |
| Comment by Jan Lindström [ 2024-01-11 ] | ||||||||||||||
|
branch : maria-10.11-backup Fix for mariabackup :
| ||||||||||||||
| Comment by Jan Lindström [ 2024-01-11 ] | ||||||||||||||
|
Update from local testing with Galera library 26.4.17 Debug:
Release:
| ||||||||||||||
| Comment by Jan Lindström [ 2024-01-14 ] | ||||||||||||||
|
Update: With attached mariabackup.diff regressions except galera_log_bin_ext_mariabackup are fixed.
| ||||||||||||||
| Comment by Jan Lindström [ 2024-01-16 ] | ||||||||||||||
|
Update:
| ||||||||||||||
| Comment by Michael Widenius [ 2024-01-19 ] | ||||||||||||||
|
wsrep_sst.cc is only using FUSH TABLE WITH READ LOCK if one uses rsync. This is ok and expected. | ||||||||||||||
| Comment by Jan Lindström [ 2024-01-22 ] | ||||||||||||||
|
Update: With attached test case I tried to find out at what backup stage DML is blocked. Based on my testing it is already on BACKUP STAGE BLOCK_DDL; | ||||||||||||||
| Comment by Michael Widenius [ 2024-01-26 ] | ||||||||||||||
|
Here is a test case in the terminal that inserts are not blocked by BLOCK_DDL: Terminal 1 MariaDB [test]> create table t1 (a int primary key, b int) engine innodb; Terminal 2 Terminal 1 MariaDB [test]> insert into t1 values (2,2);
--
Terminal 2; MariaDB [test]> backup stage end; Terminal 1 Terminal 2 Terminal 1 | ||||||||||||||
| Comment by Michael Widenius [ 2024-01-26 ] | ||||||||||||||
|
The lock is in galera, not in the MDL's used by BACKUP STAGE BLOCK_DDL 0 0x00007ffff786b70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 |