You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by br...@apache.org on 2011/02/28 22:32:08 UTC

svn commit: r1075543 - /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java

Author: brandonwilliams
Date: Mon Feb 28 21:32:08 2011
New Revision: 1075543

URL: http://svn.apache.org/viewvc?rev=1075543&view=rev
Log:
CFRW no longer loses mutations.
Patch by Eldon Stegall, reviewed by Stu Hood and brandonwilliams for
CASSANDRA-2255

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

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=1075543&r1=1075542&r2=1075543&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 Mon Feb 28 21:32:08 2011
@@ -325,7 +325,7 @@ implements org.apache.hadoop.mapred.Reco
                 }
 
                 Map<ByteBuffer, Map<String, List<Mutation>>> batch = new HashMap<ByteBuffer, Map<String, List<Mutation>>>();
-                while (batch.size() < batchThreshold)
+                while (batch.size() < batchThreshold || mutation != null)
                 {
                     Map<String, List<Mutation>> subBatch = batch.get(mutation.left);
                     if (subBatch == null)
@@ -335,6 +335,7 @@ implements org.apache.hadoop.mapred.Reco
                     }
                     
                     subBatch.get(columnFamily).add(mutation.right);
+                    mutation = null;
                     if ((mutation = queue.poll()) == null)
                         break;
                 }