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

Jason Brown commented on CASSANDRA-13964:
-----------------------------------------

I'm +1 on the patch and dtest. I ran the dtest w/o the patch can confirmed the 
failure, then with and confirmed success.

The only minor nit I have is on the dtest where you changed the {{prepare}} 
function. Maybe I'm missing something, but couldn't

{code}
        if not random_partitioner:
            
cluster.set_partitioner("org.apache.cassandra.dht.Murmur3Partitioner")
        else:
            if random_partitioner:
                
cluster.set_partitioner("org.apache.cassandra.dht.RandomPartitioner")
            else:
                
cluster.set_partitioner("org.apache.cassandra.dht.Murmur3Partitioner")
{code}

be simplified as 

{code}
        if random_partitioner:
            
cluster.set_partitioner("org.apache.cassandra.dht.RandomPartitioner")
        else:
            
cluster.set_partitioner("org.apache.cassandra.dht.Murmur3Partitioner")
{code}

wrt branches to commit on, for sure we need this on 3.0 and 3.11. We also need 
it on trunk, but should wait to see what happens with CASSANDRA-13291?

> 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-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to