cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sam Tunnicliffe (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-13964) Tracing interferes with digest requests when using RandomPartitioner
Date Wed, 18 Oct 2017 12:17:00 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-13964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16209217#comment-16209217
] 

Sam Tunnicliffe commented on CASSANDRA-13964:
---------------------------------------------

Added a second {{ThreadLocal<MessageDigest>}} for exclusive use by {{RandomPartitioner}}.

New dtest: https://github.com/beobal/cassandra-dtest/tree/13964

||branch||utest||dtest||
|[13964-3.0|https://github.com/beobal/cassandra/tree/13964-3.0]|[utest|https://circleci.com/gh/beobal/cassandra/tree/13964-3.0]|[dtest|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/379/]|
|[13964-3.11|https://github.com/beobal/cassandra/tree/13964-3.11]|[utest|https://circleci.com/gh/beobal/cassandra/tree/13964-3.11]|[dtest|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/380/]|
|[13964-trunk|https://github.com/beobal/cassandra/tree/13964-trunk]|[utest|https://circleci.com/gh/beobal/cassandra/tree/13964-trunk]|[dtest|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/381/]|


> Tracing interferes with digest requests when using RandomPartitioner
> --------------------------------------------------------------------
>
>                 Key: CASSANDRA-13964
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13964
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local Write-Read Paths, Observability
>            Reporter: Sam Tunnicliffe
>            Assignee: Sam Tunnicliffe
>
> 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).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message