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

Size of fixed-width write values not verified from peers

    XMLWordPrintableJSON

Details

    Description

      There are any number of reasons data arriving on a node might be corrupt in a manner that can ultimately pollute non-corrupt data.  CASSANDRA-14568 is just one example.  In this bug’s case, invalid clusterings were sent to a legacy version peer, which eventually sent them back to a latest version peer.  In either case, verification of the size of the values arriving would have prevented the corruption spreading, or affecting whole-sstable operations containing the values.
       
      I propose verifying the fixed-width types arriving from peers, and also on serialization.  The former permits rejecting the write with an exception, and preventing the write being ACK’d, or polluting memtables (thus maintaining update atomicity without affecting more records).  The latter will be a guarantee that this corruption cannot make it to an sstable via any other route (e.g. a bug internal to the node)

      Attachments

        Activity

          People

            Unassigned Unassigned
            benedict Benedict Elliott Smith
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: