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

Merge 5.7 P_S replication table 'replication_applier_status_by_worker'

    XMLWordPrintable

Details

    Description

      On a replication slave that has parallel replication enabled, if slave_parallel_max_queued is set too small, then the SQL thread's queue can sometimes be too small to assign work to all of the slave worker threads. When this happens, the SQL thread's state will be "Waiting for room in worker thread event", and the idle worker thread's state will be "Waiting for work from SQL thread".

      |  4 | system user |           | NULL | Connect |    139 | Waiting for work from SQL thread              | NULL             |    0.000 |
      ...
      | 21 | system user |           | NULL | Connect |     45 | Waiting for room in worker thread event queue | NULL             |    0.000 |
      ...
      

      https://mariadb.com/kb/en/library/parallel-replication/#configuring-the-maximum-size-of-the-parallel-slave-queue

      https://mariadb.com/kb/en/library/replication-and-binary-log-system-variables/#slave_parallel_max_queued

      I think it would be useful to add a status variable that gets incremented if slave's parallel worker thread is idle because the SQL thread's queue is full.

      Attachments

        Activity

          People

            sujatha.sivakumar Sujatha Sivakumar (Inactive)
            GeoffMontee Geoff Montee (Inactive)
            Votes:
            2 Vote for this issue
            Watchers:
            7 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.