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

            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.

            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.

            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.