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

Size of fixed-width write values not verified from peers

Agile BoardAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsAdd voteVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned Assign to me
            benedict Benedict Elliott Smith

            Dates

              Created:
              Updated:

              Slack

                Issue deployment