[MDEV-7324] Lock-free hash for table definition cache Created: 2014-12-15  Updated: 2014-12-28  Resolved: 2014-12-28

Status: Closed
Project: MariaDB Server
Component/s: OTHER
Fix Version/s: 10.1.3

Type: Task Priority: Major
Reporter: Sergey Vojtovich Assignee: Sergey Vojtovich
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-6478 MariaDB on Power8 Closed

 Description   

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



 Comments   
Comment by Sergey Vojtovich [ 2014-12-22 ]

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.

Comment by Sergey Vojtovich [ 2014-12-24 ]

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

Generated at Thu Feb 08 07:18:43 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.