Alexey Serbin has uploaded this change for review. ( http://gerrit.cloudera.org:8080/16060
Change subject: [tests] add same_tablet_concurrent_writes test ...................................................................... [tests] add same_tablet_concurrent_writes test Added SameTabletConcurrentWritesTest.InsertsOnly test scenario. The scenario exercises concurrent inserts from multiple clients into the same tablet. The purpose of the newly introduced test is to check for lock contention if running multiple write operations on the same tablet concurrently. There is an interaction between threads pushing Raft consensus updates and RPC worker threads serving write requests, and the test pinpoints the contention over the lock primitives in RaftConsensus. To validate the results reported by the test, I verified that RPC queue overflows happen a bit less often if using the lock-free implementation of RaftConsensus::CheckLeadershipAndBindTerm() with patch posted here: https://gerrit.cloudera.org/#/c/16034/ The rates of successful write operations was the same for both cases. However, the number of messages from spinlock_profiling.cc like Waited 190 ms on lock 0x237acd4 ... dropped significantly after applying patch 16034 on top. That's a good news to have less contention because the freed CPU resources might be spend on something useful. Change-Id: I7eef6e46e7685450354473cee9d804c5054723eb --- M src/kudu/integration-tests/CMakeLists.txt A src/kudu/integration-tests/same_tablet_concurrent_writes-itest.cc 2 files changed, 244 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/60/16060/1 -- To view, visit http://gerrit.cloudera.org:8080/16060 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I7eef6e46e7685450354473cee9d804c5054723eb Gerrit-Change-Number: 16060 Gerrit-PatchSet: 1 Gerrit-Owner: Alexey Serbin <[email protected]>
