This is an automated email from the ASF dual-hosted git repository.

jwest pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 66eae58  Only calculate dynamicBadnessThreshold once per loop in 
DynamicEndpointSnitch
66eae58 is described below

commit 66eae58cd4f53c03ca5ab6b520aa490f7f61a59c
Author: Jordan West <[email protected]>
AuthorDate: Thu May 7 18:06:26 2020 -0700

    Only calculate dynamicBadnessThreshold once per loop in 
DynamicEndpointSnitch
    
    Patch by Jordan West; Reviewed by David Capwell for CASSANDRA-15798
---
 CHANGES.txt                                                      | 1 +
 src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index e6868e9..3e7343c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha5
+ * Only calculate dynamicBadnessThreshold once per loop in 
DynamicEndpointSnitch (CASSANDRA-15798)
  * Cleanup redundant nodetool commands added in 4.0 (CASSANDRA-15256)
  * Update to Python driver 3.23 for cqlsh (CASSANDRA-15793)
  * Add tunable initial size and growth factor to RangeTombstoneList 
(CASSANDRA-15763)
diff --git a/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java 
b/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
index 0b241ce..218bdd6 100644
--- a/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
+++ b/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
@@ -210,10 +210,12 @@ public class DynamicEndpointSnitch extends 
AbstractEndpointSnitch implements Lat
         ArrayList<Double> sortedScores = new 
ArrayList<>(subsnitchOrderedScores);
         Collections.sort(sortedScores);
 
+        // only calculate this once b/c its volatile and shouldn't be modified 
during the loop either
+        double badnessThreshold = 1.0 + dynamicBadnessThreshold;
         Iterator<Double> sortedScoreIterator = sortedScores.iterator();
         for (Double subsnitchScore : subsnitchOrderedScores)
         {
-            if (subsnitchScore > (sortedScoreIterator.next() * (1.0 + 
dynamicBadnessThreshold)))
+            if (subsnitchScore > (sortedScoreIterator.next() * 
badnessThreshold))
             {
                 return sortedByProximityWithScore(address, replicas);
             }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to