Andrew Wong has posted comments on this change. ( http://gerrit.cloudera.org:8080/16169 )
Change subject: tablet: acquire/release locks in batches ...................................................................... Patch Set 5: Code-Review+1 (2 comments) http://gerrit.cloudera.org:8080/#/c/16169/2/src/kudu/tablet/lock_manager.cc File src/kudu/tablet/lock_manager.cc: http://gerrit.cloudera.org:8080/#/c/16169/2/src/kudu/tablet/lock_manager.cc@283 PS2, Line 283: kTable:: > This kind of batching+prefetching for hashtable lookup is a pretty common t Thanks for the explanation and for the extra tuning. Avoiding prefetching too much makes sense. http://gerrit.cloudera.org:8080/#/c/16169/5/src/kudu/tablet/ops/write_op.cc File src/kudu/tablet/ops/write_op.cc: http://gerrit.cloudera.org:8080/#/c/16169/5/src/kudu/tablet/ops/write_op.cc@454 PS5, Line 454: boost::container::small_vector<Slice, 8> keys; Again just checking my understanding of this optimization: in cases where a given op acquires fewer than 8 row locks, we only lose out on the remainder of the 8 Slices worth of stack memory. And in cases where there are more than 8, this is at least beneficial for the first 8 entries. And this is in most cases better than using std::vector which allocates entirely on heap. -- To view, visit http://gerrit.cloudera.org:8080/16169 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3cb724e953ecdf188a35181c2f91b721b3416524 Gerrit-Change-Number: 16169 Gerrit-PatchSet: 5 Gerrit-Owner: Todd Lipcon <t...@apache.org> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Andrew Wong <andrew.w...@cloudera.com> Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241) Gerrit-Reviewer: Todd Lipcon <t...@apache.org> Gerrit-Comment-Date: Wed, 15 Jul 2020 23:06:00 +0000 Gerrit-HasComments: Yes