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

possible deadlock with ALTER + threadpool + events




      Am running the following on a slave:

      • Largish (24h, 600M rows, 200G) ALTER TABLE
      • Events with INFORMATION_SCHEMA queries
      • Threadpool pool-of-threads active
      • Replication active
      • No other significant traffic

      After several hours, MariaDB locks up with 0% CPU and disk activity, and no response on existing or new connections on port, extra_port, or socket.

      Attached are gdb backtraces for two occurrences, examples of the ALTER and the INFORMATION_SCHEMA activity, and other info. Would appreciate any insight from devs to identify the deadlock, and to narrow down the variables for a test case that isn't 200G.

      Am presently trialing the ALTER outside the threadpool using the extra_port, with all other settings unchanged.

      Other notes:

      • It doesn't seem to be a thread pool overload, as there aren't enough threads in the backtrace.
      • The INFORMATION_SCHEMA event traffic uses GET_LOCK to serialize some activity and prevent pile-up.


        1. db1062_lockup_gdb.2.log
          172 kB
          Sean Pringle
        2. db1062_lockup_gdb.3.log
          183 kB
          Sean Pringle
        3. db1062_lockup_gdb.log
          162 kB
          Sean Pringle
        4. db1062_lockup.ALTER.txt
          4 kB
          Sean Pringle
        5. db1062_lockup.cmake.txt
          0.6 kB
          Sean Pringle
        6. db1062_lockup.global_vars.txt
          325 kB
          Sean Pringle
        7. db1062_lockup.i_s_query.txt
          0.4 kB
          Sean Pringle
        8. db1062_lockup.processlist.txt
          13 kB
          Sean Pringle



            jplindst Jan Lindström (Inactive)
            sean Sean Pringle
            0 Vote for this issue
            5 Start watching this issue



              Git Integration

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