You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2010/11/25 19:17:19 UTC

svn commit: r1039128 - in /cassandra/branches/cassandra-0.7: CHANGES.txt src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java

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;
                 }