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

    • Improvement
    • Status: Open
    • Normal
    • Resolution: Unresolved
    • None
    • Consistency/Repair
    • None
    • Semantic
    • Normal
    • All
    • 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

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

            Dates

              Created:
              Updated: