You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MB-35061: Ensure Consumer is removed from vbConns when stream is erased
DcpConsumer::{registerStream,removeStream} were introduced in
http://review.couchbase.org/#/c/103845/ . They are complementary
methods to add a stream to the Consumer::streams map and add the
Consumer to the DcpConnMap.vbConns (and vice versa), keeping the two
consistent - a consumer without a (non-dead) stream for a given vb
should not be in vbConns for that vb.
In some cases, Consumer::streams.erase() was called directly, leaving
the Consumer in the vbConns map, despite it no longer holding a
relevant stream.
Methods such as DcpConnMap::seqnoAckVBPassiveStream assume only a
single Consumer will be stored per vbucket, and use the first found.
This fails, as the "old" consumer does not have the associated stream.
Change-Id: Ifedc7a11d0439c2ec9365c277c75e5119bbc991b
Reviewed-on: http://review.couchbase.org/112784
Reviewed-by: Dave Rigby <[email protected]>
Tested-by: Build Bot <[email protected]>
0 commit comments