Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-21255

Deadlock of parallel slave and mariabackup (with failed log copy thread)

    XMLWordPrintable

Details

    Description

      Read only slave with slave_parallel_threads=10 got deadlocked when mariabackup executed FTWRL and tried to copy non-InnoDB files and remaining part of the redo log. Neither replication, no mariabackup, nor later mariabackup calls could proceed.

      In the processlist we see:

      ...
      |     10 | system user |                                    | NULL | Slave_IO     | 1626750 | Waiting for master to send event                                               | NULL                                          |    0.000 |
      |     13 | system user |                                    | NULL | Slave_worker |  184973 | Waiting for prior transaction to start commit before starting next transaction | NULL                                          |    0.000 |
      |     12 | system user |                                    | NULL | Slave_worker |  184973 | Waiting for prior transaction to start commit before starting next transaction | NULL                                          |    0.000 |
      |     14 | system user |                                    | NULL | Slave_worker |  184973 | Waiting for prior transaction to start commit before starting next transaction | NULL                                          |    0.000 |
      |     15 | system user |                                    | NULL | Slave_worker |  184973 | Waiting for prior transaction to start commit before starting next transaction | NULL                                          |    0.000 |
      |     16 | system user |                                    | NULL | Slave_worker |  184973 | Waiting for prior transaction to start commit before starting next transaction | NULL                                          |    0.000 |
      |     17 | system user |                                    | NULL | Slave_worker |  184973 | Waiting for global read lock                                                   | NULL                                          |    0.000 |
      |     18 | system user |                                    | NULL | Slave_worker |  184973 | Waiting for prior transaction to start commit before starting next transaction | NULL                                          |    0.000 |
      |     19 | system user |                                    | NULL | Slave_worker |  184973 | Waiting for prior transaction to start commit before starting next transaction | NULL                                          |    0.000 |
      |     20 | system user |                                    | NULL | Slave_worker |  184973 | Waiting for prior transaction to start commit before starting next transaction | NULL                                          |    0.000 |
      |     21 | system user |                                    | NULL | Slave_worker |  184973 | Waiting for prior transaction to start commit before starting next transaction | NULL                                          |    0.000 |
      |     11 | system user |                                    | NULL | Slave_SQL    |  187284 | Waiting for room in worker thread event queue                                  | NULL                                          |    0.000 |
      | 271217 | dbcleaner   | some_host:51410 | sa2  | Query        |       0 | Waiting in MASTER_GTID_WAIT() (primary waiter)                                 | SELECT MASTER_GTID_WAIT('0-11-5381276620', 4) |    0.000 |
      ...
      | 402858 | bkpuser     | localhost                          | NULL | Sleep        |  184970 |                                                                                | NULL                                          |    0.000 |
      | 427762 | bkpuser     | localhost                          | NULL | Query        |   98674 | Waiting for worker threads to pause for global read lock                       | FLUSH TABLES WITH READ LOCK                   |    0.000 |
      | 452639 | bkpuser     | localhost                          | NULL | Query        |   12636 | Waiting while replication worker thread pool is busy                           | FLUSH TABLES WITH READ LOCK                   |    0.000 |
      | 469510 | dbcleaner   | some_host:63978 | sa2  | Sleep        |      19 |                                                                                | NULL                                          |    0.000 |
      | 469541 | dbcleaner   | localhost                          | NULL | Query        |       0 | init                                                                           | show processlist                              |    0.000 |
      

      See backtrace of all threads attached.

      Attachments

        1. backtrace1.txt
          100 kB
          Valerii Kravchuk

        Activity

          People

            vlad.lesin Vladislav Lesin
            valerii Valerii Kravchuk
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.