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