You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2015/05/15 13:25:21 UTC

cassandra git commit: Fix ACFIF building of ColumnFamilySplit for non-BO partitioners

Repository: cassandra
Updated Branches:
  refs/heads/trunk 5c54f42ff -> 1644e82f7


Fix ACFIF building of ColumnFamilySplit for non-BO partitioners

patch by Philip Thompson; reviewed by Mike Adamson for CASSANDRA-9381


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1644e82f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1644e82f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1644e82f

Branch: refs/heads/trunk
Commit: 1644e82f757024df8833668e54cb75e309d9f427
Parents: 5c54f42
Author: Philip Thompson <pt...@gmail.com>
Authored: Fri May 15 14:22:37 2015 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Fri May 15 14:22:37 2015 +0300

----------------------------------------------------------------------
 .../cassandra/hadoop/AbstractColumnFamilyInputFormat.java | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1644e82f/src/java/org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.java b/src/java/org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.java
index f37504b..2c04475 100644
--- a/src/java/org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.java
+++ b/src/java/org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.java
@@ -31,7 +31,9 @@ import com.datastax.driver.core.Row;
 import com.datastax.driver.core.Session;
 import com.datastax.driver.core.TokenRange;
 import org.apache.cassandra.db.SystemKeyspace;
+import org.apache.cassandra.dht.ByteOrderedPartitioner;
 import org.apache.cassandra.dht.IPartitioner;
+import org.apache.cassandra.dht.OrderPreservingPartitioner;
 import org.apache.cassandra.dht.Range;
 import org.apache.cassandra.dht.Token;
 import org.apache.cassandra.hadoop.cql3.*;
@@ -200,6 +202,8 @@ public abstract class AbstractColumnFamilyInputFormat<K, Y> extends InputFormat<
             for (Host endpoint : hosts)
                 endpoints[endpointIndex++] = endpoint.getAddress().getHostName();
 
+            boolean partitionerIsOpp = partitioner instanceof OrderPreservingPartitioner || partitioner instanceof ByteOrderedPartitioner;
+
             for (TokenRange subSplit : subSplits.keySet())
             {
                 List<TokenRange> ranges = subSplit.unwrap();
@@ -207,8 +211,10 @@ public abstract class AbstractColumnFamilyInputFormat<K, Y> extends InputFormat<
                 {
                     ColumnFamilySplit split =
                             new ColumnFamilySplit(
-                                    subrange.getStart().toString().substring(2),
-                                    subrange.getEnd().toString().substring(2),
+                                    partitionerIsOpp ?
+                                            subrange.getStart().toString().substring(2) : subrange.getStart().toString(),
+                                    partitionerIsOpp ?
+                                            subrange.getEnd().toString().substring(2) : subrange.getStart().toString(),
                                     subSplits.get(subSplit),
                                     endpoints);