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)