Description
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.