Author: jbellis
Date: Fri Mar  5 20:33:47 2010
New Revision: 919594

URL: http://svn.apache.org/viewvc?rev=919594&view=rev
Log:
merge from 0.6

Added:
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ConfigHelper.java
      - copied unchanged from r919592, 
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/hadoop/ConfigHelper.java
Modified:
    incubator/cassandra/trunk/   (props changed)
    incubator/cassandra/trunk/CHANGES.txt
    incubator/cassandra/trunk/contrib/word_count/src/WordCount.java
    
incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)
    
incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)
    
incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)
    
incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)
    
incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilySplit.java

Propchange: incubator/cassandra/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Mar  5 20:33:47 2010
@@ -1,4 +1,4 @@
 /incubator/cassandra/branches/cassandra-0.3:774578-796573
 /incubator/cassandra/branches/cassandra-0.4:810145-834239,834349-834350
 /incubator/cassandra/branches/cassandra-0.5:888872-915439
-/incubator/cassandra/branches/cassandra-0.6:911237-919580
+/incubator/cassandra/branches/cassandra-0.6:911237-919592

Modified: incubator/cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/CHANGES.txt?rev=919594&r1=919593&r2=919594&view=diff
==============================================================================
--- incubator/cassandra/trunk/CHANGES.txt (original)
+++ incubator/cassandra/trunk/CHANGES.txt Fri Mar  5 20:33:47 2010
@@ -17,6 +17,7 @@
    until it's too late (CASSANDRA-843)
  * Add logging of GC activity (CASSANDRA-813)
  * fix ConcurrentModificationException in commitlog discard (CASSANDRA-853)
+ * Fix hardcoded row count in Hadoop RecordReader (CASSANDRA-837)
 
 
 0.6.0-beta1/beta2

Modified: incubator/cassandra/trunk/contrib/word_count/src/WordCount.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/contrib/word_count/src/WordCount.java?rev=919594&r1=919593&r2=919594&view=diff
==============================================================================
--- incubator/cassandra/trunk/contrib/word_count/src/WordCount.java (original)
+++ incubator/cassandra/trunk/contrib/word_count/src/WordCount.java Fri Mar  5 
20:33:47 2010
@@ -25,6 +25,7 @@
 
 import org.apache.cassandra.db.IColumn;
 import org.apache.cassandra.hadoop.ColumnFamilyInputFormat;
+import org.apache.cassandra.hadoop.ConfigHelper;
 import org.apache.cassandra.thrift.SlicePredicate;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.conf.Configured;
@@ -127,9 +128,9 @@
             job.setInputFormatClass(ColumnFamilyInputFormat.class);
             FileOutputFormat.setOutputPath(job, new Path(OUTPUT_PATH_PREFIX + 
i));
 
-            ColumnFamilyInputFormat.setColumnFamily(job, KEYSPACE, 
COLUMN_FAMILY);
+            ConfigHelper.setColumnFamily(job.getConfiguration(), KEYSPACE, 
COLUMN_FAMILY);
             SlicePredicate predicate = new 
SlicePredicate().setColumn_names(Arrays.asList(columnName.getBytes()));
-            ColumnFamilyInputFormat.setSlicePredicate(job, predicate);
+            ConfigHelper.setSlicePredicate(job.getConfiguration(), predicate);
 
             job.waitForCompletion(true);
         }

Propchange: 
incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Mar  5 20:33:47 2010
@@ -1,6 +1,6 @@
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Cassandra.java:810145-834239,834349-834350
 
/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/Cassandra.java:888872-903502
-/incubator/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:911237-919580
+/incubator/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:911237-919592
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java:749219-768588
 
/incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:749219-904544

Propchange: 
incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Mar  5 20:33:47 2010
@@ -1,7 +1,7 @@
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/column_t.java:774578-792198
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Column.java:810145-834239,834349-834350
 
/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/Column.java:888872-903502
-/incubator/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:911237-919580
+/incubator/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:911237-919592
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Column.java:749219-794428
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/column_t.java:749219-768588
 
/incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:749219-904544

Propchange: 
incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Mar  5 20:33:47 2010
@@ -1,6 +1,6 @@
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:810145-834239,834349-834350
 
/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:888872-903502
-/incubator/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:911237-919580
+/incubator/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:911237-919592
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:749219-768588
 
/incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:749219-904544

Propchange: 
incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Mar  5 20:33:47 2010
@@ -1,5 +1,5 @@
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:810145-834239,834349-834350
 
/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:888872-903502
-/incubator/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:911237-919580
+/incubator/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:911237-919592
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:749219-768588

Propchange: 
incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Mar  5 20:33:47 2010
@@ -1,7 +1,7 @@
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:774578-792198
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:810145-834239,834349-834350
 
/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:888872-903502
-/incubator/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:911237-919580
+/incubator/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:911237-919592
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:749219-794428
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:749219-768588
 
/incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:749219-904544

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java?rev=919594&r1=919593&r2=919594&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java
 (original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java
 Fri Mar  5 20:33:47 2010
@@ -22,125 +22,51 @@
 
 
 import java.io.IOException;
-import java.net.InetAddress;
 import java.util.*;
 
 import org.apache.log4j.Logger;
-import org.apache.commons.lang.ArrayUtils;
 
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.db.IColumn;
-import org.apache.cassandra.dht.Range;
-import org.apache.cassandra.dht.Token;
-import org.apache.cassandra.gms.FailureDetector;
-import org.apache.cassandra.net.Message;
-import org.apache.cassandra.net.MessagingService;
 import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.thrift.*;
-import org.apache.cassandra.utils.FBUtilities;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.mapreduce.*;
-import org.apache.thrift.TDeserializer;
 import org.apache.thrift.TException;
-import org.apache.thrift.TSerializer;
 import org.apache.thrift.protocol.TBinaryProtocol;
-import org.apache.thrift.protocol.TJSONProtocol;
 import org.apache.thrift.transport.TSocket;
 import org.apache.thrift.transport.TTransportException;
 
+/**
+ * Hadoop InputFormat allowing map/reduce against Cassandra rows within one 
ColumnFamily.
+ *
+ * At minimum, you need to set the CF and predicate (description of columns to 
extract from each row)
+ * in your Hadoop job Configuration.  The ConfigHelper class is provided to 
make this
+ * simple:
+ *   ConfigHelper.setColumnFamily
+ *   ConfigHelper.setSlicePredicate
+ *
+ * You can also configure the number of rows per InputSplit with
+ *   ConfigHelper.setInputSplitSize
+ * This should be "as big as possible, but no bigger."  Each InputSplit is 
read from Cassandra
+ * with a single get_slice_range query, and the per-call overhead of 
get_slice_range is high,
+ * so larger split sizes are better -- but if it is too large, you will run 
out of memory,
+ * since no paging is done (yet).
+ *
+ * The default split size is 4096 rows.
+ */
 public class ColumnFamilyInputFormat extends InputFormat<String, 
SortedMap<byte[], IColumn>>
 {
-    private static final String KEYSPACE_CONFIG = "cassandra.input.keyspace";
-    private static final String COLUMNFAMILY_CONFIG = 
"cassandra.input.columnfamily";
-    private static final String PREDICATE_CONFIG = "cassandra.input.predicate";
-    private static final String INPUT_SPLIT_SIZE_CONFIG = 
"cassandra.input.split.size";
 
     private static final Logger logger = 
Logger.getLogger(StorageService.class);
 
-    private String keyspace;
-    private String columnFamily;
-    private SlicePredicate predicate;
-
-    public static void setColumnFamily(Job job, String keyspace, String 
columnFamily)
-    {
-        if (keyspace == null)
-        {
-            throw new UnsupportedOperationException("keyspace may not be 
null");
-        }
-        if (columnFamily == null)
-        {
-            throw new UnsupportedOperationException("columnfamily may not be 
null");
-        }
-        try
-        {
-            ThriftValidation.validateColumnFamily(keyspace, columnFamily);
-        }
-        catch (InvalidRequestException e)
-        {
-            throw new RuntimeException(e);
-        }
-        Configuration conf = job.getConfiguration();
-        conf.set(KEYSPACE_CONFIG, keyspace);
-        conf.set(COLUMNFAMILY_CONFIG, columnFamily);
-    }
-
-    /**
-     * Set the size of the input split.
-     * This affects the number of maps created, if the number is too small
-     * the overhead of each map will take up the bulk of the job time.
-     *  
-     * @param job Job you are about to run.
-     * @param splitsize Size of the input split
-     */
-    public static void setInputSplitSize(Job job, int splitsize)
-    {
-        job.getConfiguration().setInt(INPUT_SPLIT_SIZE_CONFIG, splitsize);
-    }
-    
-    public static void setSlicePredicate(Job job, SlicePredicate predicate)
-    {
-        Configuration conf = job.getConfiguration();
-        conf.set(PREDICATE_CONFIG, predicateToString(predicate));
-    }
-
-    private static String predicateToString(SlicePredicate predicate)
-    {
-        assert predicate != null;
-        // this is so awful it's kind of cool!
-        TSerializer serializer = new TSerializer(new TJSONProtocol.Factory());
-        try
-        {
-            return serializer.toString(predicate, "UTF-8");
-        }
-        catch (TException e)
-        {
-            throw new RuntimeException(e);
-        }
-    }
-
-    private SlicePredicate predicateFromString(String st)
-    {
-        assert st != null;
-        TDeserializer deserializer = new TDeserializer(new 
TJSONProtocol.Factory());
-        SlicePredicate predicate = new SlicePredicate();
-        try
-        {
-            deserializer.deserialize(predicate, st, "UTF-8");
-        }
-        catch (TException e)
-        {
-            throw new RuntimeException(e);
-        }
-        return predicate;
-    }
-
-    private void validateConfiguration()
+    private void validateConfiguration(Configuration conf)
     {
-        if (keyspace == null || columnFamily == null)
+        if (ConfigHelper.getKeyspace(conf) == null || 
ConfigHelper.getColumnFamily(conf) == null)
         {
             throw new UnsupportedOperationException("you must set the keyspace 
and columnfamily with setColumnFamily()");
         }
-        if (predicate == null)
+        if (ConfigHelper.getSlicePredicate(conf) == null)
         {
             throw new UnsupportedOperationException("you must set the 
predicate with setPredicate");
         }
@@ -149,15 +75,13 @@
     public List<InputSplit> getSplits(JobContext context) throws IOException
     {
         Configuration conf = context.getConfiguration();
-        keyspace = conf.get(KEYSPACE_CONFIG);
-        columnFamily = conf.get(COLUMNFAMILY_CONFIG);
-        predicate = predicateFromString(conf.get(PREDICATE_CONFIG));
-        validateConfiguration();
+
+        validateConfiguration(conf);
 
         // cannonical ranges and nodes holding replicas
-        List<TokenRange> masterRangeNodes = getRangeMap();
+        List<TokenRange> masterRangeNodes = 
getRangeMap(ConfigHelper.getKeyspace(conf));
 
-        int splitsize = 
context.getConfiguration().getInt(INPUT_SPLIT_SIZE_CONFIG, 16384);
+        int splitsize = 
ConfigHelper.getInputSplitSize(context.getConfiguration());
         
         // cannonical ranges, split into pieces:
         // for each range, pick a live owner and ask it to compute bite-sized 
splits
@@ -179,7 +103,7 @@
             int i = 1;
             for ( ; i < tokens.size(); i++)
             {
-                ColumnFamilySplit split = new ColumnFamilySplit(keyspace, 
columnFamily, predicate, tokens.get(i - 1), tokens.get(i), endpoints);
+                ColumnFamilySplit split = new ColumnFamilySplit(tokens.get(i - 
1), tokens.get(i), endpoints);
                 logger.debug("adding " + split);
                 splits.add(split);
             }
@@ -216,7 +140,7 @@
         return splits;
     }
 
-    private List<TokenRange> getRangeMap() throws IOException
+    private List<TokenRange> getRangeMap(String keyspace) throws IOException
     {
         TSocket socket = new 
TSocket(DatabaseDescriptor.getSeeds().iterator().next().getHostAddress(),
                                      DatabaseDescriptor.getRpcPort());

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java?rev=919594&r1=919593&r2=919594&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
 (original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
 Fri Mar  5 20:33:47 2010
@@ -38,6 +38,7 @@
 import org.apache.cassandra.thrift.Column;
 import org.apache.cassandra.thrift.SuperColumn;
 import org.apache.cassandra.utils.Pair;
+import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
@@ -47,11 +48,13 @@
 
 public class ColumnFamilyRecordReader extends RecordReader<String, 
SortedMap<byte[], IColumn>>
 {
-    private static final int ROWS_PER_RANGE_QUERY = 1024;
-
     private ColumnFamilySplit split;
     private RowIterator iter;
     private Pair<String, SortedMap<byte[], IColumn>> currentRow;
+    private SlicePredicate predicate;
+    private int rowCount;
+    private String cfName;
+    private String keyspace;
 
     public void close() {}
     
@@ -73,6 +76,11 @@
     public void initialize(InputSplit split, TaskAttemptContext context) 
throws IOException
     {
         this.split = (ColumnFamilySplit) split;
+        Configuration conf = context.getConfiguration();
+        predicate = ConfigHelper.getSlicePredicate(conf);
+        rowCount = ConfigHelper.getInputSplitSize(conf);
+        cfName = ConfigHelper.getColumnFamily(conf);
+        keyspace = ConfigHelper.getKeyspace(conf);
         iter = new RowIterator();
     }
     
@@ -89,7 +97,7 @@
 
         private List<KeySlice> rows;
         private int i = 0;
-        private AbstractType comparator = 
DatabaseDescriptor.getComparator(split.getTable(), split.getColumnFamily());
+        private AbstractType comparator = 
DatabaseDescriptor.getComparator(keyspace, cfName);
 
         private void maybeInit()
         {
@@ -107,14 +115,14 @@
             {
                 throw new RuntimeException(e);
             }
-            KeyRange keyRange = new KeyRange(ROWS_PER_RANGE_QUERY)
+            KeyRange keyRange = new KeyRange(rowCount)
                                 .setStart_token(split.getStartToken())
                                 .setEnd_token(split.getEndToken());
             try
             {
-                rows = client.get_range_slices(split.getTable(),
-                                               new 
ColumnParent(split.getColumnFamily()),
-                                               split.getPredicate(),
+                rows = client.get_range_slices(keyspace,
+                                               new ColumnParent(cfName),
+                                               predicate,
                                                keyRange,
                                                ConsistencyLevel.ONE);
             }
@@ -196,7 +204,7 @@
 
     private IColumn unthriftifySuper(SuperColumn super_column)
     {
-        AbstractType subComparator = 
DatabaseDescriptor.getSubComparator(split.getTable(), split.getColumnFamily());
+        AbstractType subComparator = 
DatabaseDescriptor.getSubComparator(keyspace, cfName);
         org.apache.cassandra.db.SuperColumn sc = new 
org.apache.cassandra.db.SuperColumn(super_column.name, subComparator);
         for (Column column : super_column.columns)
         {

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilySplit.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilySplit.java?rev=919594&r1=919593&r2=919594&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilySplit.java
 (original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilySplit.java
 Fri Mar  5 20:33:47 2010
@@ -39,20 +39,14 @@
 {
     private String startToken;
     private String endToken;
-    private String table;
-    private String columnFamily;
     private String[] dataNodes;
-    private SlicePredicate predicate;
 
-    public ColumnFamilySplit(String table, String columnFamily, SlicePredicate 
predicate, String startToken, String endToken, String[] dataNodes)
+    public ColumnFamilySplit(String startToken, String endToken, String[] 
dataNodes)
     {
         assert startToken != null;
         assert endToken != null;
         this.startToken = startToken;
         this.endToken = endToken;
-        this.columnFamily = columnFamily;
-        this.predicate = predicate;
-        this.table = table;
         this.dataNodes = dataNodes;
     }
 
@@ -66,21 +60,6 @@
         return endToken;
     }
 
-    public String getTable()
-    {
-        return table;
-    }
-
-    public String getColumnFamily()
-    {
-        return columnFamily;
-    }
-
-    public SlicePredicate getPredicate()
-    {
-        return predicate;
-    }
-
     // getLength and getLocations satisfy the InputSplit abstraction
     
     public long getLength()
@@ -97,18 +76,12 @@
     // This should only be used by KeyspaceSplit.read();
     protected ColumnFamilySplit() {}
 
-    private static final TSerializer tSerializer = new TSerializer(new 
TBinaryProtocol.Factory());
-    private static final TDeserializer tDeserializer = new TDeserializer(new 
TBinaryProtocol.Factory());
-
     // These three methods are for serializing and deserializing
     // KeyspaceSplits as needed by the Writable interface.
     public void write(DataOutput out) throws IOException
     {
-        out.writeUTF(table);
-        out.writeUTF(columnFamily);
         out.writeUTF(startToken);
         out.writeUTF(endToken);
-        FBUtilities.serialize(tSerializer, predicate, out);
 
         out.writeInt(dataNodes.length);
         for (String endPoint : dataNodes)
@@ -119,12 +92,8 @@
 
     public void readFields(DataInput in) throws IOException
     {
-        table = in.readUTF();
-        columnFamily = in.readUTF();
         startToken = in.readUTF();
         endToken = in.readUTF();
-        predicate = new SlicePredicate();
-        FBUtilities.deserialize(tDeserializer, predicate, in);
 
         int numOfEndPoints = in.readInt();
         dataNodes = new String[numOfEndPoints];
@@ -140,10 +109,7 @@
         return "ColumnFamilySplit{" +
                "startToken='" + startToken + '\'' +
                ", endToken='" + endToken + '\'' +
-               ", table='" + table + '\'' +
-               ", columnFamily='" + columnFamily + '\'' +
                ", dataNodes=" + (dataNodes == null ? null : 
Arrays.asList(dataNodes)) +
-               ", predicate=" + predicate +
                '}';
     }
 


Reply via email to