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

Paxos replay of in progress update is incorrect

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 2.0.1
    • Component/s: None
    • Labels:
      None

      Description

      When we replay inProgress, we need to refresh it with the newly prepared ballot, or it will be (correctly) rejected.

        Issue Links

          Activity

          Hide
          jbellis Jonathan Ellis added a comment -

          Fix pushed to https://github.com/jbellis/cassandra/tree/5985, along with a patch to clean up the trace messages. Also added a sleep to the collision-in-replay branch to match the collision-in-prepare.

          Show
          jbellis Jonathan Ellis added a comment - Fix pushed to https://github.com/jbellis/cassandra/tree/5985 , along with a patch to clean up the trace messages. Also added a sleep to the collision-in-replay branch to match the collision-in-prepare.
          Hide
          slebresne Sylvain Lebresne added a comment -

          One "nit": I'm not sure sleeping in the case where the propose work (and we commit) is really useful, the commit itself probably play a good enough sleep if we're contending (which, for what its worth, is confirmed by my unscientific test: moving the sleep only if the propose fails perform slightly better without making threads retry more often).

          But overall, +1 on the fix (a quick test (that I'll commit to dtests) does confirm the current CAS timeout as soon a 2 inserts contend a bit too much).

          Show
          slebresne Sylvain Lebresne added a comment - One "nit": I'm not sure sleeping in the case where the propose work (and we commit) is really useful, the commit itself probably play a good enough sleep if we're contending (which, for what its worth, is confirmed by my unscientific test: moving the sleep only if the propose fails perform slightly better without making threads retry more often). But overall, +1 on the fix (a quick test (that I'll commit to dtests) does confirm the current CAS timeout as soon a 2 inserts contend a bit too much).
          Hide
          jbellis Jonathan Ellis added a comment -

          committed

          Show
          jbellis Jonathan Ellis added a comment - committed

            People

            • Assignee:
              jbellis Jonathan Ellis
              Reporter:
              jbellis Jonathan Ellis
              Reviewer:
              Sylvain Lebresne
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development