Details
Description
When rebalance abruptly terminates ns_server closes the connection on DCP consumer replication streams and lets KV engine close the streams when it figures out that the connection is closed, as opposed to closing each stream in the connection explicitly. ns_server then opens these streams again – which is racy in KV engine as it may take some time for the connection close to get picked up.
Rather ns_server should explicitly close the streams in the situation of an abruptly terminated rebalance. This is equivalent to simply closing the connection but has the positive side effect of removing raciness and reducing the probability of any problem in KV Engine.
Attachments
Issue Links
For Gerrit Dashboard: MB-17279 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
58400,2 | MB-17279 Explicitly close dcp streams when replicator is nuked. | rel-3.0.0++ | ns_server | Status: MERGED | +2 | +1 |
58401,2 | MB-17279 Add a timeout to shut_consumer. | rel-3.0.0++ | ns_server | Status: MERGED | +2 | +1 |
58603,2 | Merge remote-tracking branch 'couchbase/rel-3.0.0++' into cluster_uuis | master | ns_server | Status: ABANDONED | 0 | 0 |
58605,1 | Merge remote-tracking branch 'couchbase/rel-3.0.0++' into new | sherlock | ns_server | Status: MERGED | +2 | +1 |
58610,1 | Merge remote-tracking branch 'couchbase/sherlock' into cluster_uuis | master | ns_server | Status: ABANDONED | +2 | +1 |
58647,1 | MB-17279 Explicitly close dcp streams when replicator is nuked. | master | ns_server | Status: ABANDONED | 0 | 0 |
58648,1 | MB-17279 Add a timeout to shut_consumer. | master | ns_server | Status: ABANDONED | 0 | 0 |
58649,1 | Merge remote-tracking branch 'couchbase/sherlock' into merge | master | ns_server | Status: MERGED | +2 | +1 |