Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/20607 )
Change subject: KUDU-613: Scan Resistant Caching ...................................................................... Patch Set 4: (1 comment) http://gerrit.cloudera.org:8080/#/c/20607/4/src/kudu/util/slru_cache.cc File src/kudu/util/slru_cache.cc: http://gerrit.cloudera.org:8080/#/c/20607/4/src/kudu/util/slru_cache.cc@39 PS4, Line 39: std::lock_guard<decltype(mutex_)> l(mutex_); > It's a giant lock for now, I'll look into performance testing with this app The LRU cache doesn't have a lock at the top level: that's just lock-free lookups in the shard vector first, and then it comes does to operations within a shard. Locking per shard helps to increase the concurrency of the cache in real world scenarios when used as a block cache for Kudu tablet servers. Since a tablet server hosts multiple tablets which contain different data, per-shard locks are engaged only when the data is accessed within a shard. Assuming the hashing function gives a good projection of the global key space, it allows to run N threads concurrently, assuming each thread is accessing a separate shard. -- To view, visit http://gerrit.cloudera.org:8080/20607 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I45531534a2049dd38c002f4dc7982df9fd46e0bb Gerrit-Change-Number: 20607 Gerrit-PatchSet: 4 Gerrit-Owner: Mahesh Reddy <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Mahesh Reddy <[email protected]> Gerrit-Reviewer: Tidy Bot (241) Gerrit-Comment-Date: Mon, 13 Nov 2023 18:08:24 +0000 Gerrit-HasComments: Yes
