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

ifesdjeen pushed a commit to branch cep-15-accord
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit e1897c0ed05f28f6bfba7285b99a7cc5f41cdced
Author: Alex Petrov <[email protected]>
AuthorDate: Wed Oct 23 14:31:12 2024 +0200

    Check for splittable ranges
    
    Patch by Alex Petrov; reviewed by Ariel Weisberg for CASSANDRA-20032
---
 modules/accord                                        | 2 +-
 src/java/org/apache/cassandra/dht/AccordSplitter.java | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/modules/accord b/modules/accord
index 25f23ffec4..3be348ca19 160000
--- a/modules/accord
+++ b/modules/accord
@@ -1 +1 @@
-Subproject commit 25f23ffec439a921387ca249908798b9cc7d4620
+Subproject commit 3be348ca190715d6b6e9cfbb3a818fd0b538fdef
diff --git a/src/java/org/apache/cassandra/dht/AccordSplitter.java 
b/src/java/org/apache/cassandra/dht/AccordSplitter.java
index 467ac2a105..916e479679 100644
--- a/src/java/org/apache/cassandra/dht/AccordSplitter.java
+++ b/src/java/org/apache/cassandra/dht/AccordSplitter.java
@@ -21,6 +21,7 @@ package org.apache.cassandra.dht;
 import java.math.BigInteger;
 
 import accord.local.ShardDistributor;
+import accord.primitives.Range;
 import org.apache.cassandra.schema.TableId;
 import org.apache.cassandra.service.accord.TokenRange;
 import org.apache.cassandra.service.accord.api.AccordRoutingKey;
@@ -60,6 +61,12 @@ public abstract class AccordSplitter implements 
ShardDistributor.EvenSplit.Split
                               endOffset.compareTo(sizeOfRange) >= 0 ? endBound 
: new TokenKey(tableId, tokenForValue(start.add(endOffset))));
     }
 
+    @Override
+    public boolean splittable(Range range, int numSplits)
+    {
+        return sizeOf(range).compareTo(BigInteger.valueOf(numSplits)) >= 0;
+    }
+
     @Override
     public BigInteger zero()
     {


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

Reply via email to