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

Race in DCP Producer set_vbstate_ handling can result in mutations not being sent during takeover

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • 4.6.3, 5.0.0
    • 3.1.6, 4.6.0
    • couchbase-bucket
    • None

    Description

      The issue was seen with XDCR + graceful failover.

      Issue seen on node 172.23.98.224. All missing items are one vbucket, vb 998.

      2017-05-19T17:15:36.209243-07:00 NOTICE (Test1) DCP (Producer) eq_dcpq:replication:ns_1@172.23.98.224->ns_1@172.23.98.225:Test1 - (vb 998) Creating takeover stream with start seqno 848 and end seqno 18446744073709551615
      2017-05-19T17:15:36.690043-07:00 NOTICE (Test1) DCP (Producer) eq_dcpq:replication:ns_1@172.23.98.224->ns_1@172.23.98.225:Test1 - (vb 998) Vbucket marked as dead, last sent seqno: 848, high seqno: 865
      2017-05-19T17:15:36.691534-07:00 NOTICE (Test1) DCP (Producer) eq_dcpq:replication:ns_1@172.23.98.224->ns_1@172.23.98.225:Test1 - (vb 998) Stream closing, sent until seqno 848 remaining items 0, reason: The stream ended due to all items being streamed
      2017-05-19T17:15:36.692372-07:00 NOTICE (Test1) DCP (Producer) eq_dcpq:replication:ns_1@172.23.98.224->ns_1@172.23.98.225:Test1 - (vb 998) Stream closed, 0 items sent from backfill phase, 0 items sent from memory phase, 848 was last seqno sent
      

      We are closing the takeover stream before all items are streamed (865-848). This is causing the data loss.

      Attachments

        For Gerrit Dashboard: MB-24817
        # Subject Branch Project Status CR V

        Activity

          People

            drigby Dave Rigby (Inactive)
            manu Manu Dhundi (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                PagerDuty