Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-16915

DCP needs correct ref-counted pointers

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 3.1.3, 4.1.1
    • 3.1.2, 4.0.0, 4.0.1, 4.1.0, 4.5.0, 5.0.0
    • storage-engine
    • Security Level: Public
    • Untriaged
    • No

    Description

      1. The stream_t is used by DcpBackfillTask and the DcpProducer, so at least 2 threads are accessing the value. stream_t is defined as a SingleThreadedRCPtr, not the concurrent-safe RCPtr
      2. ActiveStream, PassiveStream and NotifierStream use base pointers to DcpProducer/DcpConsumer yet can schedule background tasks which may access those pointers past the objects deletion.
      1. Change stream_t to RCPtr
      2. Add RCPtr's to the Stream classes so that the object deletion occurs once no one references the producer.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              jwalker Jim Walker
              jwalker Jim Walker
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty