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

Lock-free hash for table definition cache

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 10.1.3
    • Component/s: OTHER
    • Labels:
      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.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              svoj Sergey Vojtovich added a comment -

              Sergei Golubchik 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.
              
              Show
              svoj Sergey Vojtovich added a comment - Sergei Golubchik 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.
              Hide
              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.

              Show
              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

                • Assignee:
                  svoj Sergey Vojtovich
                  Reporter:
                  svoj Sergey Vojtovich
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - Not Specified
                    Not Specified
                    Remaining:
                    Remaining Estimate - 0 minutes
                    0m
                    Logged:
                    Time Spent - 6 hours
                    6h