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

information_schema.innodb_mutexes.name column is not populated

Details

    Description

      Compare the outputs of the following statements:

      C:\Program Files\MariaDB 10.3\bin>mysql -uroot -proot -P3316 test
      Welcome to the MariaDB monitor.  Commands end with ; or \g.
      Your MariaDB connection id is 10
      Server version: 10.3.7-MariaDB-log mariadb.org binary distribution
       
      Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
       
      Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
       
      MariaDB [test]> select * from information_schema.innodb_mutexes;
      +------+---------------------+-------------+----------+
      | NAME | CREATE_FILE         | CREATE_LINE | OS_WAITS |
      +------+---------------------+-------------+----------+
      |      | log0log.cc          |         644 |        1 |
      |      | combined buf0buf.cc |        1510 |        1 |
      +------+---------------------+-------------+----------+
      2 rows in set (0.005 sec)
       
      MariaDB [test]> show engine innodb mutex;
      +--------+-----------------------------+---------+
      | Type   | Name                        | Status  |
      +--------+-----------------------------+---------+
      | InnoDB | rwlock: log0log.cc:644      | waits=1 |
      | InnoDB | sum rwlock: buf0buf.cc:1510 | waits=1 |
      +--------+-----------------------------+---------+
      2 rows in set (0.005 sec)
      

      One would expect Name column in the output of the first one to contain a mutex name, as the second one demonstrates (or more specific one). It looks like the name is always missing.

      Attachments

        Activity

          The column name is not populated ever since the InnoDB changes from MySQL 5.7.9 were applied to MariaDB, in the 10.2.2 release. The underlying data structure is missing.

          At the same time, information_schema.innodb_mutexes actually stopped providing information about mutexes; it is only listing rw_lock_t, such as log_sys_t::checkpoint_lock and buf_block_t::lock in your sample output.

          We can surely provide a redundant mutex name, like the Name column in the SHOW ENGINE INNODB MUTEX output. Also, perhaps we could always enable the compilation of mysql_pfs_key_t and extend it to record the names of mutexes and the creation file names and line numbers. In that way, each object could identify the type of the mutex with only one data field, instead of incurring the overhead of multiple fields for that purpose. I have mentioned this idea to serg.

          marko Marko Mäkelä added a comment - The column name is not populated ever since the InnoDB changes from MySQL 5.7.9 were applied to MariaDB , in the 10.2.2 release. The underlying data structure is missing. At the same time, information_schema.innodb_mutexes actually stopped providing information about mutexes; it is only listing rw_lock_t , such as log_sys_t::checkpoint_lock and buf_block_t::lock in your sample output. We can surely provide a redundant mutex name, like the Name column in the SHOW ENGINE INNODB MUTEX  output. Also, perhaps we could always enable the compilation of mysql_pfs_key_t and extend it to record the names of mutexes and the creation file names and line numbers. In that way, each object could identify the type of the mutex with only one data field, instead of incurring the overhead of multiple fields for that purpose. I have mentioned this idea to serg .

          People

            marko Marko Mäkelä
            valerii Valerii Kravchuk
            Votes:
            0 Vote for this issue
            Watchers:
            2 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.