You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ma...@apache.org on 2021/09/30 09:27:18 UTC

[cassandra] 02/03: Avoid race causing us to return null in RangesAtEndpoint

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

marcuse pushed a commit to branch cassandra-4.0
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit aaf72a7decf6964f00adb871333571de66c166a3
Author: Marcus Eriksson <ma...@apache.org>
AuthorDate: Fri Sep 17 17:45:35 2021 +0200

    Avoid race causing us to return null in RangesAtEndpoint
    
    Patch by marcuse; reviewed by Jon Meredith for CASSANDRA-16965
---
 CHANGES.txt                                                 | 1 +
 src/java/org/apache/cassandra/locator/RangesAtEndpoint.java | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index b2f3369..0c0ba4f 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0.2
+ * Avoid race causing us to return null in RangesAtEndpoint (CASSANDRA-16965)
  * Avoid rewriting all sstables during cleanup when transient replication is enabled (CASSANDRA-16966)
  * Prevent CQLSH from failure on Python 3.10 (CASSANDRA-16987)
  * Avoid trying to acquire 0 permits from the rate limiter when taking snapshot (CASSANDRA-16872)
diff --git a/src/java/org/apache/cassandra/locator/RangesAtEndpoint.java b/src/java/org/apache/cassandra/locator/RangesAtEndpoint.java
index de7daa1..6401d2a 100644
--- a/src/java/org/apache/cassandra/locator/RangesAtEndpoint.java
+++ b/src/java/org/apache/cassandra/locator/RangesAtEndpoint.java
@@ -131,7 +131,7 @@ public class RangesAtEndpoint extends AbstractReplicaCollection<RangesAtEndpoint
     public RangesAtEndpoint onlyFull()
     {
         RangesAtEndpoint result = onlyFull;
-        if (onlyFull == null)
+        if (result == null)
             onlyFull = result = filter(Replica::isFull);
         return result;
     }
@@ -139,7 +139,7 @@ public class RangesAtEndpoint extends AbstractReplicaCollection<RangesAtEndpoint
     public RangesAtEndpoint onlyTransient()
     {
         RangesAtEndpoint result = onlyTransient;
-        if (onlyTransient == null)
+        if (result == null)
             onlyTransient = result = filter(Replica::isTransient);
         return result;
     }

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org