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

Innodb reports warning for "Purge reached the head of the history list" should be removed.

Details

    Description

      This warning should appear only in debug version and as it doesn't occur any corruption the msg in misleading. Below is the test case. As the history list length limit is 2000000, we have apply patch to mysqld and change it to 0x1234 = 4660 so we can test it bit faster.

      Step:1 Create table like "CREATE TABLE t ENGINE=InnoDB SELECT 1 a;”
      Step:2 Start session 1 with `START TRANSACTION WITH CONSISTENT SNAPSHOT;`
      Step:3 Run update for more than 30K like,
      [nil@centos68 ~]$ yes 'UPDATE t SET a=a+1;'|mysql -uroot -pmsandbox --socket=/tmp/mysql_sandbox10212.sock test
      check history list length with this command.
      mysql -uroot -pmsandbox --socket=/tmp/mysql_sandbox10212.sock -e "SHOW ENGINE INNODB STATUS \G" | grep "History list length"

      Step:4 After 30K update, start one more session 2 with `START TRANSACTION WITH CONSISTENT SNAPSHOT;`
      Step:5 Run commit on session 1
      Step:6 Run commit on session 2

      Got warnings in error log like,

      2018-01-10 20:23:13 140297300334336 [Warning] InnoDB: Purge reached the head of the history list, but its length is still reported as 22612! Make a detailed bug report, and submit it to https://jira.mariadb.org/
      2018-01-10 20:23:13 140297300334336 [Warning] InnoDB: Purge reached the head of the history list, but its length is still reported as 22612! Make a detailed bug report, and submit it to https://jira.mariadb.org/
      2018-01-10 20:23:13 140297300334336 [Warning] InnoDB: Purge reached the head of the history list, but its length is still reported as 22612! Make a detailed bug report, and submit it to https://jira.mariadb.org/
      2018-01-10 20:23:13 140297300334336 [Warning] InnoDB: Purge reached the head of the history list, but its length is still reported as 22612! Make a detailed bug report, and submit it to https://jira.mariadb.org/
      

      Attachments

        Activity

          niljoshi Nilnandan Joshi created issue -
          marko Marko Mäkelä made changes -
          Field Original Value New Value
          Assignee Marko Mäkelä [ marko ]
          marko Marko Mäkelä made changes -
          Affects Version/s 10.3.0 [ 22127 ]
          Affects Version/s 10.2.0 [ 20700 ]
          Affects Version/s 10.1.0 [ 12200 ]
          Affects Version/s 10.0.6 [ 13202 ]
          Affects Version/s 5.5.33a [ 13500 ]
          Affects Version/s 10.2.12 [ 22810 ]
          marko Marko Mäkelä made changes -
          Component/s Storage Engine - InnoDB [ 10129 ]
          Component/s Storage Engine - XtraDB [ 10135 ]
          Component/s Server [ 13907 ]
          marko Marko Mäkelä made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          niljoshi Nilnandan Joshi made changes -
          Description This warning should appear only in debug version and as it doesn't occur any corruption the msg in misleading.

          Step:1 Create table like "CREATE TABLE t ENGINE=InnoDB SELECT 1 a;”
          Step:2 Start session 1 with `START TRANSACTION WITH CONSISTENT SNAPSHOT;`
          Step:3 Run update for more than 2M like,
          [nil@centos68 ~]$ yes 'UPDATE t SET a=a+1;'|mysql -uroot -pmsandbox --socket=/tmp/mysql_sandbox10212.sock test
          check history list length with this command.
          mysql -uroot -pmsandbox --socket=/tmp/mysql_sandbox10212.sock -e "SHOW ENGINE INNODB STATUS \G" | grep "History list length"

          Step:4 After 1000 update, start one more session 2 with `START TRANSACTION WITH CONSISTENT SNAPSHOT;`
          Step:5 Run commit on session 1 after 2M
          Step:6 Run commit on session 2

          Got warnings in error log like,
          {code}
          2018-01-10 20:23:13 140297300334336 [Warning] InnoDB: Purge reached the head of the history list, but its length is still reported as 22612! Make a detailed bug report, and submit it to https://jira.mariadb.org/
          2018-01-10 20:23:13 140297300334336 [Warning] InnoDB: Purge reached the head of the history list, but its length is still reported as 22612! Make a detailed bug report, and submit it to https://jira.mariadb.org/
          2018-01-10 20:23:13 140297300334336 [Warning] InnoDB: Purge reached the head of the history list, but its length is still reported as 22612! Make a detailed bug report, and submit it to https://jira.mariadb.org/
          2018-01-10 20:23:13 140297300334336 [Warning] InnoDB: Purge reached the head of the history list, but its length is still reported as 22612! Make a detailed bug report, and submit it to https://jira.mariadb.org/
          {code}
          This warning should appear only in debug version and as it doesn't occur any corruption the msg in misleading. Below is the test case. As the history list length limit is 2000000, we have apply patch to mysqld and change it to 0x1234 = 4660 so we can test it bit faster.

          Step:1 Create table like "CREATE TABLE t ENGINE=InnoDB SELECT 1 a;”
          Step:2 Start session 1 with `START TRANSACTION WITH CONSISTENT SNAPSHOT;`
          Step:3 Run update for more than 30K like,
          [nil@centos68 ~]$ yes 'UPDATE t SET a=a+1;'|mysql -uroot -pmsandbox --socket=/tmp/mysql_sandbox10212.sock test
          check history list length with this command.
          mysql -uroot -pmsandbox --socket=/tmp/mysql_sandbox10212.sock -e "SHOW ENGINE INNODB STATUS \G" | grep "History list length"

          Step:4 After 30K update, start one more session 2 with `START TRANSACTION WITH CONSISTENT SNAPSHOT;`
          Step:5 Run commit on session 1
          Step:6 Run commit on session 2

          Got warnings in error log like,
          {code}
          2018-01-10 20:23:13 140297300334336 [Warning] InnoDB: Purge reached the head of the history list, but its length is still reported as 22612! Make a detailed bug report, and submit it to https://jira.mariadb.org/
          2018-01-10 20:23:13 140297300334336 [Warning] InnoDB: Purge reached the head of the history list, but its length is still reported as 22612! Make a detailed bug report, and submit it to https://jira.mariadb.org/
          2018-01-10 20:23:13 140297300334336 [Warning] InnoDB: Purge reached the head of the history list, but its length is still reported as 22612! Make a detailed bug report, and submit it to https://jira.mariadb.org/
          2018-01-10 20:23:13 140297300334336 [Warning] InnoDB: Purge reached the head of the history list, but its length is still reported as 22612! Make a detailed bug report, and submit it to https://jira.mariadb.org/
          {code}
          marko Marko Mäkelä made changes -
          issue.field.resolutiondate 2018-01-11 08:04:02.0 2018-01-11 08:04:02.439
          marko Marko Mäkelä made changes -
          Fix Version/s 5.5.59 [ 22612 ]
          Fix Version/s 10.0.34 [ 22613 ]
          Fix Version/s 10.3.4 [ 22904 ]
          Fix Version/s 10.1.31 [ 22907 ]
          Fix Version/s 10.2.13 [ 22910 ]
          Resolution Fixed [ 1 ]
          Status In Progress [ 3 ] Closed [ 6 ]
          serg Sergei Golubchik made changes -
          Workflow MariaDB v3 [ 84823 ] MariaDB v4 [ 153540 ]
          mariadb-jira-automation Jira Automation (IT) made changes -
          Zendesk Related Tickets 104459

          People

            marko Marko Mäkelä
            niljoshi Nilnandan Joshi
            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.