Uploaded image for project: 'Couchbase Go SDK'
  1. Couchbase Go SDK
  2. GOCBC-1451

DCP agents shouldn't use CCCP polling

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • core-10.3.0
    • None
    • None
    • None
    • 1
    • SDK34

    Description

      From discussion with D. Rigby: A DCP connection (with streams established) will automatically tell you about any changes in vBucket state on that node - if a vbucket changes from the state it was in when the stream was established; the stream will be ended via a StreamEnd::StateChanged message.  In other words, if you're only using DCP, then GET_CLUSTER_CONFIG on the DCP connection(s) are of little value; and moreover are at risk of high runtimes (from client's pov) as they must drain all the outstanding DCP messages before they will see the GET_CLUSTER_CONFIG response.

      When topology changes the stream will be ended, at which point the user will send a new stream open request and if the cluster topology has indeed changed (and no CCCP request was sent in the interim) then if the request went to the wrong node the SDK would get a not my vbucket error at which point it'd update its topology anyway.

      Due to this we should only use HTTP polling for DCP.

      Attachments

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

        Activity

          People

            charles.dixon Charles Dixon
            charles.dixon Charles Dixon
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty