Tyler Hobbs created CASSANDRA-6930:
--------------------------------------

             Summary: Dynamic Snitch isWorthMergingForRangeQuery Doesn't Handle 
Some Cases Optimally
                 Key: CASSANDRA-6930
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6930
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: Tyler Hobbs
             Fix For: 2.0.7, 2.1 beta2


I was investigating slow responses for queries like {{select * from 
system.peers}} and noticed that the dynamic endpoint snitch was reporting that 
the query was _not_ worth merging.  In this case, the local host had a score of 
0, so {{return maxMerged < maxL1 + maxL2}} was returning false.  I believe 
using a {{<=}} condition is the proper fix there.

Additionally, because scores are looked up three separate times, this method is 
a prone to race conditions.  I don't think it's worth fixing the race condition 
for a multi-node scenario, but at least in the single-node case, we can 
immediately return true and avoid any race conditions that would cause it to 
erroneously return false.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to