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

Lock-free hash for table definition cache

Details

    • Task
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 10.1.3
    • OTHER
    • None

    Description

      Table definition hash is protected by pthread rwlock, which doesn't scale very well. Replacing it with lock-free hash solves this bottleneck.

      Attachments

        Issue Links

          Activity

            svoj Sergey Vojtovich created issue -
            svoj Sergey Vojtovich made changes -
            Field Original Value New Value
            serg Sergei Golubchik made changes -
            Affects Version/s 10.1 [ 16100 ]
            Issue Type Bug [ 1 ] Task [ 3 ]

            serg please review patch for this task. At the moment of writing the patch for some reason didn't hit commits@, but it was pushed to bb-power:

            commit b2f45ba8280c97f8dc8b1adb3234cf2e28e48982
            Author: Sergey Vojtovich <svoj@mariadb.org>
            Date:   Mon Dec 22 19:56:48 2014 +0400
             
                MDEV-7324 - Lock-free hash for table definition cache
             
            commit ea8862aa9ffa1cfac9a99bbe0fe9b539f12b9a19
            Author: Sergey Vojtovich <svoj@mariadb.org>
            Date:   Wed Dec 3 13:56:22 2014 +0400
             
                MDEV-6089 - MySQL WL#7305 "Improve MDL scalability by using lock-free hash"
             
                This is prerequisite for MDEV-6089. Added lf_hash_search_using_hash_value(),
                which can reuse previously calculated hash value.

            svoj Sergey Vojtovich added a comment - serg please review patch for this task. At the moment of writing the patch for some reason didn't hit commits@, but it was pushed to bb-power: commit b2f45ba8280c97f8dc8b1adb3234cf2e28e48982 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Mon Dec 22 19:56:48 2014 +0400   MDEV-7324 - Lock-free hash for table definition cache   commit ea8862aa9ffa1cfac9a99bbe0fe9b539f12b9a19 Author: Sergey Vojtovich <svoj@mariadb.org> Date: Wed Dec 3 13:56:22 2014 +0400   MDEV-6089 - MySQL WL#7305 "Improve MDL scalability by using lock-free hash"   This is prerequisite for MDEV-6089. Added lf_hash_search_using_hash_value(), which can reuse previously calculated hash value.
            svoj Sergey Vojtovich made changes -
            Assignee Sergey Vojtovich [ svoj ] Sergei Golubchik [ serg ]
            Status Open [ 1 ] In Review [ 10002 ]

            Just for the record: this patch survived 15 hours of various stress tests. Regression test suite went well too.

            svoj Sergey Vojtovich added a comment - Just for the record: this patch survived 15 hours of various stress tests. Regression test suite went well too.
            serg Sergei Golubchik made changes -
            Assignee Sergei Golubchik [ serg ] Sergey Vojtovich [ svoj ]
            Status In Review [ 10002 ] Stalled [ 10000 ]
            svoj Sergey Vojtovich made changes -
            svoj Sergey Vojtovich made changes -
            Resolution Fixed [ 1 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            ratzpo Rasmus Johansson (Inactive) made changes -
            Workflow MariaDB v2 [ 59002 ] MariaDB v3 [ 65695 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 65695 ] MariaDB v4 [ 132490 ]

            People

              svoj Sergey Vojtovich
              svoj Sergey Vojtovich
              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.