Uploaded image for project: 'Couchbase Gateway'
  1. Couchbase Gateway
  2. CBG-2502

Revocation feed errors cause MultiChangesFeed to close

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • 3.1.0
    • None
    • SyncGateway
    • Security Level: Public
    • None
    • CBG Sprint 109, CBG Sprint 110, CBG Sprint 111, CBG Sprint 112
    • 3

    Description

      Revocation feed doc history fetch errors currently tear down the revocation feed and exit the overall MultiChangesFeed - resulting in clients not being able to correctly pull changes

      This came from a forum post
      https://forums.couchbase.com/t/never-ending-busy-state/34341/14

      2022-09-15T07:50:43.862Z [WRN] c:[632d8a88] Error checking document history during revocation, seq: 81710:81708 in channel <ud>C54UWmchuGME244aGHULHn</ud>, ending revocation feed. Error: SubdocGetBodyAndXattr <ud>C54UWmchuGME244aGHULHn</ud>: Not Found – db.(*Database).buildRevokedFeed.func1() at changes.go:250
      2022-09-15T07:50:43.862Z [WRN] c:[632d8a88] Error checking document history during revocation, seq: 81713:81711 in channel <ud>oAXyRKJoZ04lWw0rbXv15G</ud>, ending revocation feed. Error: SubdocGetBodyAndXattr <ud>oAXyRKJoZ04lWw0rbXv15G</ud>: Not Found – db.(*Database).buildRevokedFeed.func1() at changes.go:250

      Proposed fix: If no history - don't send revocation for that doc and don't return an error entry on the changes feed that would cause the feed to close.

      Attachments

        Issue Links

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

          Activity

            People

              mohammed.madi Mohammed Madi
              ben.brooks Ben Brooks
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty