Details
-
Bug
-
Resolution: Fixed
-
Major
-
master, 3.1.4, 4.1.1
-
Security Level: Public
-
None
-
Untriaged
-
Yes
Description
ActiveStream and ActiveStreamCheckpointProcessorTask both hold a ref-counted pointer to each other.
As a result of this there is a memory leak when a DCPProducer is deleted, as ActiveStream and ActiveStreamCheckpointProcessorTask mutually hold the ref-count of the other up.
This code was triggered by one of the fixes for MB-16632 - specifically http://review.couchbase.org/#/c/57148/.
For each created (and deleted) DCPProducer, we appear to leak ~4KB of memory (measured via stream_test). I haven't confirmed this in full-stack tests.