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

InnoDB should skip MVCC and transaction locking for temporary tables.

Details

    Description

      InnoDB Should skip mvcc and transaction locking for temporary tables in 10.2+. Currently row_search_mvcc() process temporary tables with locking. Temporary tables is private to
      the connection. There can be one active transaction in temporary table. So it is not necessary
      to use mvcc and transaction locking for temporary tables.

      Attachments

        Issue Links

          Activity

            thiru Thirunarayanan Balathandayuthapani created issue -
            thiru Thirunarayanan Balathandayuthapani made changes -
            Field Original Value New Value
            thiru Thirunarayanan Balathandayuthapani made changes -
            Issue Type Task [ 3 ] Bug [ 1 ]
            thiru Thirunarayanan Balathandayuthapani made changes -
            Component/s Storage Engine - InnoDB [ 10129 ]
            marko Marko Mäkelä made changes -
            Affects Version/s 10.2.2 [ 22013 ]
            marko Marko Mäkelä made changes -
            Affects Version/s 10.3.0 [ 22127 ]
            marko Marko Mäkelä made changes -
            Labels lock performance temporary
            marko Marko Mäkelä made changes -
            Status Open [ 1 ] Confirmed [ 10101 ]
            marko Marko Mäkelä made changes -
            Fix Version/s 10.3 [ 22126 ]

            Similarly, InnoDB should skip transactional locking for the change buffer tree. The attachment uniqstack.txt in MDEV-16467 shows that lock_update_delete() is being called via btr_cur_optimistic_delete_func() by ibuf_delete_rec(). There should be no transactions operating on the change buffer tree, hence the locking there is completely unnecessary.

            I would also disable the use of the adaptive hash index on temporary tables and the change buffer tree if they are not already disabled.

            marko Marko Mäkelä added a comment - Similarly, InnoDB should skip transactional locking for the change buffer tree. The attachment uniqstack.txt in MDEV-16467 shows that lock_update_delete() is being called via btr_cur_optimistic_delete_func() by ibuf_delete_rec() . There should be no transactions operating on the change buffer tree, hence the locking there is completely unnecessary. I would also disable the use of the adaptive hash index on temporary tables and the change buffer tree if they are not already disabled.
            marko Marko Mäkelä made changes -
            serg Sergei Golubchik made changes -
            Fix Version/s 10.4 [ 22408 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 88581 ] MariaDB v4 [ 144059 ]
            ralf.gebhardt Ralf Gebhardt made changes -
            Fix Version/s 10.2 [ 14601 ]
            julien.fritsch Julien Fritsch made changes -
            Fix Version/s 10.3 [ 22126 ]

            People

              thiru Thirunarayanan Balathandayuthapani
              thiru Thirunarayanan Balathandayuthapani
              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.