Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-9143

Fix consistency of incrementally repaired data across replicas

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 4.0-alpha1, 4.0
    • None
    • None

    Description

      We currently send an anticompaction request to all replicas. During this, a node will split stables and mark the appropriate ones repaired.

      The problem is that this could fail on some replicas due to many reasons leading to problems in the next repair.

      This is what I am suggesting to improve it.
      1) Send anticompaction request to all replicas. This can be done at session level.
      2) During anticompaction, stables are split but not marked repaired.
      3) When we get positive ack from all replicas, coordinator will send another message called markRepaired.
      4) On getting this message, replicas will mark the appropriate stables as repaired.

      This will reduce the window of failure. We can also think of "hinting" markRepaired message if required.

      Also the stables which are streaming can be marked as repaired like it is done now.

      Attachments

        Issue Links

          Activity

            People

              bdeggleston Blake Eggleston
              kohlisankalp Sankalp Kohli
              Blake Eggleston
              Marcus Eriksson
              Votes:
              1 Vote for this issue
              Watchers:
              24 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: