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

Tracing interferes with digest requests when using RandomPartitioner

    XMLWordPrintableJSON

    Details

    • Severity:
      Normal
    • Since Version:

      Description

      A ThreadLocal<MessageDigest> is used to generate the MD5 digest when a replica serves a read command and the isDigestQuery flag is set. The same threadlocal is also used by RandomPartitioner to decorate partition keys. So in a cluster with RP, if tracing is enabled the data digest is corrupted by the partitioner making tokens for the tracing mutations. This causes a digest mismatch on the coordinator, triggering a full data read on every read where CL > 1 (or speculative execution/read repair kick in).

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                samt Sam Tunnicliffe
                Reporter:
                samt Sam Tunnicliffe
                Authors:
                Sam Tunnicliffe
                Reviewers:
                Jason Brown
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: