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

expose rollback response on dcp OpenResponse

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • core-9.1.9, core-10.2.3
    • 2.3.3
    • None
    • None
    • 0

    Description

      Right now the behavior of calling OpenStream that it will return:

      type OpenStreamCallback func([]FailoverEntry, error) 

      The failover entries are always nil if err is populated. This matches the specification of https://github.com/couchbase/kv_engine/blob/master/docs/dcp/documentation/commands/stream-request.md

      However, the in case of a server failover, this will return ErrMemdRollback. What we don't know, however, is how to rollback from this. As per docs, this information is rollback fields of:

      rollback # (24-31)
      

      The go-couchbase code https://github.com/couchbase/go-couchbase/blob/master/cbdatasource/cbdatasource.go#L1550

      Without this implementation, we can not determine what the correct rollback sequence number to resend in the DCP stream request.

      This presents us without the ability to know precisely where to rollback to.

      Attachments

        Issue Links

          For Gerrit Dashboard: GOCBC-1401
          # Subject Branch Project Status CR V

          Activity

            People

              charles.dixon Charles Dixon
              tor.colvin Tor Colvin
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                PagerDuty