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

thd_wait_end does not called in some cases in buf_page_read_low in XtraDB engine

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 5.5.28a
    • 5.5.29
    • None
    • None

    Description

      in file storage/xtradb/buf/buf0rea.c, buf_read_page_low(),
      thd_wait_begin() is called when synchronous is requested, however thd_wait_end() is not called in case of fil_io() returns error DB_TABLESPACE_DELETED.

      Attachments

        Activity

          sergei Sergei Glushchenko created issue -
          serg Sergei Golubchik made changes -
          Field Original Value New Value
          Description in file storage/xtradb/bufbuf0rea.c, buf_page_read_low
          thd_wait_begin is called when synchronous is requested, however thd_wait_end is not called in case of _fil_io returns error DB_TABLESPACE_DELETED.
          in file {{storage/xtradb/buf/buf0rea.c}}, {{buf_read_page_low()}},
          {{thd_wait_begin()}} is called when synchronous is requested, however {{thd_wait_end()}} is not called in case of {{fil_io()}} returns error {{DB_TABLESPACE_DELETED}}.
          serg Sergei Golubchik made changes -
          Assignee Sergei Golubchik [ serg ]

          Fixed. Thanks for looking into this!

          By the way, the bug was introduced in the changeset with the comment "Only synchronous disk reads should use thd_wait_begin with THD_WAIT_DISKIO". You might want to consider doing something similar. Just a thought.

          serg Sergei Golubchik added a comment - Fixed. Thanks for looking into this! By the way, the bug was introduced in the changeset with the comment "Only synchronous disk reads should use thd_wait_begin with THD_WAIT_DISKIO". You might want to consider doing something similar. Just a thought.
          serg Sergei Golubchik made changes -
          Fix Version/s 5.5.29 [ 12102 ]
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Closed [ 6 ]

          Hi Sergei and Sergei -

          > By the way, the bug was introduced in the changeset with the comment "Only synchronous disk reads should use thd_wait_begin with THD_WAIT_DISKIO". You might
          > want to consider doing something similar. Just a thought.

          Indeed, thanks. Sergei (Glushchenko), is this included in our TP port?

          laurynas Laurynas Biveinis added a comment - Hi Sergei and Sergei - > By the way, the bug was introduced in the changeset with the comment "Only synchronous disk reads should use thd_wait_begin with THD_WAIT_DISKIO". You might > want to consider doing something similar. Just a thought. Indeed, thanks. Sergei (Glushchenko), is this included in our TP port?

          Thank you guys! Sergei, Laurynas, we have it in threadpool port. Sergei, why that revision ("Only synchronous disk reads should use thd_wait_begin with THD_WAIT_DISKIO") fixes only XtraDB engine and keeps untouched InnoDB?

          sergei Sergei Glushchenko added a comment - Thank you guys! Sergei, Laurynas, we have it in threadpool port. Sergei, why that revision ("Only synchronous disk reads should use thd_wait_begin with THD_WAIT_DISKIO") fixes only XtraDB engine and keeps untouched InnoDB?

          There is no technical reason not to change Innodb the same way. Generally, we did not change original Innodb much, for the sake of easy merges, and because running with non-builtin Xtradb but "vanilla" plugin Innodb instead in 5.5 is uncommon scenario. Most of our improvements were done with XtraDB in mind.

          wlad Vladislav Vaintroub added a comment - There is no technical reason not to change Innodb the same way. Generally, we did not change original Innodb much, for the sake of easy merges, and because running with non-builtin Xtradb but "vanilla" plugin Innodb instead in 5.5 is uncommon scenario. Most of our improvements were done with XtraDB in mind.

          I see. Thank you four your reply, Vladislav.

          sergei Sergei Glushchenko added a comment - I see. Thank you four your reply, Vladislav.

          Re. InnoDB, is there an Oracle bug report that thd_wait_begin/end should called only for sync reads? I searched around, but didn't find anything.

          laurynas Laurynas Biveinis added a comment - Re. InnoDB, is there an Oracle bug report that thd_wait_begin/end should called only for sync reads? I searched around, but didn't find anything.

          not that I know of. Most of the bug reports are now in the private Oracle bug database anyway.

          serg Sergei Golubchik added a comment - not that I know of. Most of the bug reports are now in the private Oracle bug database anyway.

          I did not report it, if the question is about it - I would not be able to prove the bug without commercial version of MySQL anyway.

          wlad Vladislav Vaintroub added a comment - I did not report it, if the question is about it - I would not be able to prove the bug without commercial version of MySQL anyway.

          Let's troll them and see what happens: http://bugs.mysql.com/bug.php?id=68197. In the best case it will reduce the XtraDB delta for us. Sergei Glushchenko, can you duplicate that bug for PS and link it to the threadpool MP?

          laurynas Laurynas Biveinis added a comment - Let's troll them and see what happens: http://bugs.mysql.com/bug.php?id=68197 . In the best case it will reduce the XtraDB delta for us. Sergei Glushchenko, can you duplicate that bug for PS and link it to the threadpool MP?
          serg Sergei Golubchik made changes -
          Workflow defaullt [ 26000 ] MariaDB v2 [ 46475 ]
          ratzpo Rasmus Johansson (Inactive) made changes -
          Workflow MariaDB v2 [ 46475 ] MariaDB v3 [ 67181 ]
          serg Sergei Golubchik made changes -
          Workflow MariaDB v3 [ 67181 ] MariaDB v4 [ 146358 ]

          People

            serg Sergei Golubchik
            sergei Sergei Glushchenko
            Votes:
            0 Vote for this issue
            Watchers:
            4 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.