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

Unresolvable false digest mismatch during upgrade due to CASSANDRA-10657

    XMLWordPrintableJSON

    Details

    • Bug Category:
      Correctness - Transient Incorrect Response
    • Severity:
      Low
    • Complexity:
      Low Hanging Fruit
    • Discovered By:
      User Report
    • Platform:
      All
    • Impacts:
      None
    • Since Version:
    • Test and Documentation Plan:
      Hide

      The issue can be tested by executing the following steps:

      1. Start 2 node cluster of C* 3.0
      2. Create a keyspace with RF=2, and a sample table with some regular columns (say of text type), insert some data into that table with CL=QUORUM or ALL
      3. Flush created table on both nodes
      4. Upgrade the first node either to 3.11 or 4.0
      5. Start CQL, set consistency to QUORUM or ALL and enable tracing
      6. Query table for a single row with a single regular column
      7. Without patch, the tracing output shows the information about digest mismatch, which is unrecoverable (you can even do full repair), with the patch, there is no such issue

      Show
      The issue can be tested by executing the following steps: 1. Start 2 node cluster of C* 3.0 2. Create a keyspace with RF=2, and a sample table with some regular columns (say of text type), insert some data into that table with CL=QUORUM or ALL 3. Flush created table on both nodes 4. Upgrade the first node either to 3.11 or 4.0 5. Start CQL, set consistency to QUORUM or ALL and enable tracing 6. Query table for a single row with a single regular column 7. Without patch, the tracing output shows the information about digest mismatch, which is unrecoverable (you can even do full repair), with the patch, there is no such issue

      Description

      CASSANDRA-10657 introduced changes in how the ColumnFilter is interpreted. This results in digest mismatch when querying incomplete set of columns from a table with consistency that requires reaching instances running pre CASSANDRA-10657 from nodes that include CASSANDRA-10657 (it was introduced in Cassandra 3.4).

      The fix is to bring back the previous behaviour until there are no instances running pre CASSANDRA-10657 version.

        Attachments

        1. CASSANDRA-15833-4.0.patch
          4 kB
          Jacek Lewandowski
        2. CASSANDRA-15833-3.11.patch
          3 kB
          Jacek Lewandowski

          Issue Links

            Activity

              People

              • Assignee:
                jlewandowski Jacek Lewandowski
                Reporter:
                jlewandowski Jacek Lewandowski
                Authors:
                Jacek Lewandowski, Jordan West
                Reviewers:
                Jordan West, Marcus Eriksson
              • Votes:
                0 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: