Author: jbellis
Date: Thu Nov 25 18:17:18 2010
New Revision: 1039128

URL: http://svn.apache.org/viewvc?rev=1039128&view=rev
Log:
support multiple Mutations perkey in hadoop ColumnFamilyOutputFormat
patch by Mck SembWever; reviewed by jbellis for CASSANDRA-1774

Modified:
    cassandra/branches/cassandra-0.7/CHANGES.txt
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java

Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1039128&r1=1039127&r2=1039128&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Thu Nov 25 18:17:18 2010
@@ -10,6 +10,8 @@ dev
  * fix add/remove index bugs in CFMetadata (CASSANDRA-1768)
  * rebuild Strategy during system_update_keyspace (CASSANDRA-1762)
  * cli updates prompt to ... in continuation lines (CASSANDRA-1770)
+ * support multiple Mutations per key in hadoop ColumnFamilyOutputFormat
+   (CASSANDRA-1774)
  * improvements to Debian init script (CASSANDRA-1772)
 
 

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java?rev=1039128&r1=1039127&r2=1039128&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java
 Thu Nov 25 18:17:18 2010
@@ -319,8 +319,14 @@ implements org.apache.hadoop.mapred.Reco
                 Map<ByteBuffer, Map<String, List<Mutation>>> batch = new 
HashMap<ByteBuffer, Map<String, List<Mutation>>>();
                 while (batch.size() < batchThreshold)
                 {
-                    Map<String, List<Mutation>> subBatch = 
Collections.singletonMap(columnFamily, Arrays.asList(mutation.right));
-                    batch.put(mutation.left, subBatch);
+                    Map<String, List<Mutation>> subBatch = 
batch.get(mutation.left);
+                    if (subBatch == null)
+                    {
+                        subBatch = Collections.singletonMap(columnFamily, 
(List<Mutation>) new ArrayList<Mutation>());
+                        batch.put(mutation.left, subBatch);
+                    }
+                    
+                    subBatch.get(columnFamily).add(mutation.right);
                     if ((mutation = queue.poll()) == null)
                         break;
                 }


Reply via email to