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

main.mysqldump-system fails with extra entries in innodb_index_stats

Details

    Description

      Sometimes, the rows dumped by mysqldump , from innodb_index_stats, seem to relate to various kinds of temporary tables.

      referencing table names like "#mysql50##sql-alter-cdc-153" etc.

      Not only this breaks test suite, but also I think it is a mistake to have such entries to be dumped. I'm not sure whether stats for temporary tables need to be persistently stored, but quite sure there is no need for them in the dump

      Below example is taken from recent failure https://buildbot.mariadb.net/buildbot/builders/winx64-debug/builds/48252/steps/test/logs/stdio, but stats reveal this kind of failures is as far back as 2021, for 10.3

      CURRENT_TEST: main.mysqldump-system
      --- D:/winx64-debug/build/src/mysql-test/main/mysqldump-system,win.result~	2024-12-12 19:26:05.806142500 +0200
      +++ D:\winx64-debug\build\src\mysql-test\main\mysqldump-system,win.reject	2024-12-12 19:26:06.743663500 +0200
      @@ -112,13 +112,13 @@
       
       LOCK TABLES `innodb_index_stats` WRITE;
       /*!40000 ALTER TABLE `innodb_index_stats` DISABLE KEYS */;
      -REPLACE INTO `innodb_index_stats` VALUES ('mysql','tz','PRIMARY','2019-12-31 21:00:00','n_diff_pfx01',4,1,'Time_zone_id'),('mysql','tz','PRIMARY','2019-12-31 21:00:00','n_diff_pfx02',393,1,'Time_zone_id,Transition_time'),('mysql','tz','PRIMARY','2019-12-31 21:00:00','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('mysql','tz','PRIMARY','2019-12-31 21:00:00','size',1,NULL,'Number of pages in the index');
      +REPLACE INTO `innodb_index_stats` VALUES ('mysql','tz','PRIMARY','2019-12-31 21:00:00','n_diff_pfx01',4,1,'Time_zone_id'),('mysql','tz','PRIMARY','2019-12-31 21:00:00','n_diff_pfx02',393,1,'Time_zone_id,Transition_time'),('mysql','tz','PRIMARY','2019-12-31 21:00:00','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('mysql','tz','PRIMARY','2019-12-31 21:00:00','size',1,NULL,'Number of pages in the index'),('test','#mysql50##sql-alter-cdc-153','GEN_CLUST_INDEX','2024-12-12 17:25:52','n_diff_pfx01',0,1,'DB_ROW_ID'),('test','#mysql50##sql-alter-cdc-153','GEN_CLUST_INDEX','2024-12-12 17:25:52','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('test','#mysql50##sql-alter-cdc-153','GEN_CLUST_INDEX','2024-12-12 17:25:52','size',1,NULL,'Number of pages in the index');
       /*!40000 ALTER TABLE `innodb_index_stats` ENABLE KEYS */;
       UNLOCK TABLES;
      

      Attachments

        Issue Links

          Activity

            When it comes to MariaDB Server 10.6 and later, these failures occur for different reasons than earlier versions. Much was cleaned up about the 2 InnoDB statistics tables as well as DDL in general.

            With MDEV-25506 it is possible that if the server is killed in the middle of a DDL operation, some garbage files will remain in the file system until the purge of history removes them. This does not affect the persistent statistics tables.

            There is a known problem of inadequate locking around the InnoDB statistics tables. As a result of this, ha_innobase::delete_table() may be unable to remove statistics for a table that was dropped. See also MDEV-29566 and MDEV-33575.

            marko Marko Mäkelä added a comment - When it comes to MariaDB Server 10.6 and later, these failures occur for different reasons than earlier versions. Much was cleaned up about the 2 InnoDB statistics tables as well as DDL in general. With MDEV-25506 it is possible that if the server is killed in the middle of a DDL operation, some garbage files will remain in the file system until the purge of history removes them. This does not affect the persistent statistics tables. There is a known problem of inadequate locking around the InnoDB statistics tables. As a result of this, ha_innobase::delete_table() may be unable to remove statistics for a table that was dropped. See also MDEV-29566 and MDEV-33575 .

            People

              marko Marko Mäkelä
              wlad Vladislav Vaintroub
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

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