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

Follow up CASSANDRA-15685 - IR does not wait for ack on commit and notifies caller of success, which can lead to user submitting preview which could conflict

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Normal
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: Consistency/Repair
    • Labels:
      None
    • Change Category:
      Semantic
    • Complexity:
      Normal
    • Platform:
      All
    • Impacts:
      None

      Description

      While working on CASSANDRA-15685, we acknowledged that there is an edge case not handled. If we try to runĀ 

      Preview repair isn't allowed to be run concurrently with IR. If we run it right after IR and IR completes before the completion message is handled on the participant; the below is impacted by this race condition.

      nodetool repair foo bar
      # does not look to be running concurrently with the above IR, since it was notified of success
      # but the commit message may not have been seen yet which cause this to be concurrent with the above
      nodetool repair foo bar --validate
      

      See here https://github.com/apache/cassandra/blob/ec1808a34f9aa5ae0b956c1527828566f4ba2be5/src/java/org/apache/cassandra/repair/consistent/CoordinatorSession.java#L234-L244. We send the message but don't make sure its ack on.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              e.dimitrova Ekaterina Dimitrova
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: