Author: jbellis
Date: Sun Dec 19 03:33:19 2010
New Revision: 1050752

URL: http://svn.apache.org/viewvc?rev=1050752&view=rev
Log:
flush before repair
patch by thobbs; reviewed by Stu Hood for CASSANDRA-1748

Modified:
    cassandra/branches/cassandra-0.7/CHANGES.txt
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java

Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1050752&r1=1050751&r2=1050752&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Sun Dec 19 03:33:19 2010
@@ -16,6 +16,7 @@ dev
  * ReadResponseResolver check digests against each other (CASSANDRA-1830)
  * return InvalidRequest when remove of subcolumn without supercolumn
    is requested (CASSANDRA-1866)
+ * flush before repair (CASSANDRA-1748)
 
 
 0.7.0-rc2

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java?rev=1050752&r1=1050751&r2=1050752&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java
 Sun Dec 19 03:33:19 2010
@@ -453,6 +453,20 @@ public class CompactionManager implement
      */
     private void doValidationCompaction(ColumnFamilyStore cfs, 
AntiEntropyService.Validator validator) throws IOException
     {
+        // flush first so everyone is validating data that is as similar as 
possible
+        try
+        {
+            StorageService.instance.forceTableFlush(cfs.table.name, 
cfs.getColumnFamilyName());
+        }
+        catch (ExecutionException e)
+        {
+            throw new IOException(e);
+        }
+        catch (InterruptedException e)
+        {
+            throw new AssertionError(e);
+        }
+
         CompactionIterator ci = new ValidationCompactionIterator(cfs);
         executor.beginCompaction(cfs, ci);
         try


Reply via email to