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

[BP 7.6.3] XDCR - Adding "txn" XATTR to source document causes a panic restart-loop

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • 7.6.4
    • 7.6.0, 7.1.4, 7.1.0, 7.1.1, 7.1.2, 7.2.0, 7.1.3, 7.2.1, 7.1.5, 7.2.4, 7.2.2, 7.1.6, 7.2.3, 7.2.5, 7.6.2, 7.6.1, 7.6.4
    • XDCR
    • 0

    Description

      (Original commit from MB-47813 was added to 7.1.0, so affects versions post that)

      Steps to reproduce:

      1. Start a replication with filter on both key AND body (Eg: REGEXP_CONTAINS(META().id, "amendment_brewery_cafe") AND name == "21st Amendment Brewery Cafe")
      2. Add a transaction XATTR ("txn") through a gocb client to any source document that matches the filter expression.
      3. Pipeline panics and goes into a restart loop.

      INFO GOXDCR.DcpNozzle: pipelineFullTopic=5932dbf0f3806bf92ae313c14ba3884a/beer-sample/beer-target, dcp_5932dbf0f3806bf92ae313c14ba3884a/beer-sample/beer-target_127.0.0.1:12000_1 processData exits
      panic: runtime error: index out of range [721] with length 721
       
      goroutine 174 [running]:
      github.com/couchbase/goxdcr/base.WriteJsonRawMsg({0x140013a0000, 0x2d1, 0x400}, {0x14000edf520?, 0x14000778408?, 0x4?}, 0x30?, 0x1?, 0x1b, 0xc0?)
      	/Users/aditya.sood/dev/couchbase-server/morpheus/goproj/src/github.com/couchbase/goxdcr/base/simple_utils.go:1639 +0x1cc
      github.com/couchbase/goxdcr/base.appendKVWriteKeyValue({0x140013a0000?, 0x1049ab3dc?, 0xd8?}, {0x140003a4168?, 0x105377e20?, 0x8?}, {0x14000edf520, 0x1b, 0x2a4}, 0x1400139c3a0?, ...)
      	/Users/aditya.sood/dev/couchbase-server/morpheus/goproj/src/github.com/couchbase/goxdcr/base/simple_utils.go:1390 +0x84
      github.com/couchbase/goxdcr/base.AppendSingleKVToAllocatedBody({0x14000d52028, 0x29a, 0x400?}, {0x140003a4168, 0x16, 0x18}, {0x14000edf520, 0x1b, 0x2a4}, 0x106110108?, ...)
      	/Users/aditya.sood/dev/couchbase-server/morpheus/goproj/src/github.com/couchbase/goxdcr/base/simple_utils.go:1416 +0x1a4
      github.com/couchbase/goxdcr/base/filter.(*FilterUtilsImpl).AddKeyToBeFiltered(0x14000d52000?, {0x14000d52028, 0x29a, 0x3d8}, {0x14000edf520, 0x1b, 0x2a4}, 0x105593b28?, 0x14000778408?, 0x140011e9470?)
      	/Users/aditya.sood/dev/couchbase-server/morpheus/goproj/src/github.com/couchbase/goxdcr/base/filter/filterUtils.go:188 +0xb0
      github.com/couchbase/goxdcr/base/filter.(*FilterUtilsImpl).ProcessUprEventForFiltering(0x1060c2600?, 0x1400131ee00, {0x14000d52000?, 0x1049a9b6c?, 0x14000cc8c00?}, 0x10498c360?, {0x105593b28?, 0x14000778408?}, 0x1, 0x1400066e210?)
      	/Users/aditya.sood/dev/couchbase-server/morpheus/goproj/src/github.com/couchbase/goxdcr/base/filter/filterUtils.go:99 +0x360
      github.com/couchbase/goxdcr/base/filter.(*FilterImpl).filterUprEvent(0x1400066e1b0, 0x1400131ee00, {0x14000d52000?, 0x1045f1a5c?, 0x0?}, 0x1071e5b18?, 0x140003efcd8?)
      	/Users/aditya.sood/dev/couchbase-server/morpheus/goproj/src/github.com/couchbase/goxdcr/base/filter/filterImpl.go:341 +0x8c
      github.com/couchbase/goxdcr/base/filter.(*FilterImpl).FilterUprEvent(0x1400066e1b0, 0x14001391640)
      	/Users/aditya.sood/dev/couchbase-server/morpheus/goproj/src/github.com/couchbase/goxdcr/base/filter/filterImpl.go:185 +0x2a8
      github.com/couchbase/goxdcr/parts.(*Router).Route(0x140007882c0, {0x105365d60, 0x14001391640})
      	/Users/aditya.sood/dev/couchbase-server/morpheus/goproj/src/github.com/couchbase/goxdcr/parts/router.go:1702 +0x110
      github.com/couchbase/goxdcr/connector.(*Router).Forward(0x140003ef620, {0x105365d60?, 0x14001391640?})
      	/Users/aditya.sood/dev/couchbase-server/morpheus/goproj/src/github.com/couchbase/goxdcr/connector/router.go:113 +0x130
      github.com/couchbase/goxdcr/parts.(*DcpNozzle).processData(0x140006e0508)
      	/Users/aditya.sood/dev/couchbase-server/morpheus/goproj/src/github.com/couchbase/goxdcr/parts/dcp_nozzle.go:1125 +0xa28
      created by github.com/couchbase/goxdcr/parts.(*DcpNozzle).Start in goroutine 252
      	/Users/aditya.sood/dev/couchbase-server/morpheus/goproj/src/github.com/couchbase/goxdcr/parts/dcp_nozzle.go:835 +0x274
      

      Attachments

        Issue Links

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

          Activity

            People

              aditya.sood Aditya Sood
              aditya.sood Aditya Sood
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty