MB-16632: Reducing locking contention in DCP-Producer/Stream 00/56300/15
authorabhinavdangeti <abhinav@couchbase.com>
Thu, 22 Oct 2015 22:36:12 +0000 (15:36 -0700)
committerChiyoung Seo <chiyoung@couchbase.com>
Wed, 25 Nov 2015 19:12:51 +0000 (19:12 +0000)
commit87869fd39dc4e2795d51554b549990a44aa38943
tree8100ca22b26df728c47ace71e132774fbae22478
parent003e96bc97b48426ecc0939778144579512247b6
MB-16632: Reducing locking contention in DCP-Producer/Stream

- Adding a new RWLock for streams in Producer and avoid queueLock
- Improving BufferLog and remove need for queueLock on access
- Adding an array of atomic bool for lockless vbucket ready notification
- Changing some ActiveStream variables to be atomic to allow for lockless
  updates.

Change-Id: I11c54f1058c4c8a3f013dfc858a39d17362c9531
Reviewed-on: http://review.couchbase.org/56300
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Tested-by: buildbot <build@couchbase.com>
src/dcp-producer.cc
src/dcp-producer.h
src/dcp-stream.cc
src/dcp-stream.h
src/tapconnection.h