Author: jbellis
Date: Fri Oct  1 17:56:14 2010
New Revision: 1003595

URL: http://svn.apache.org/viewvc?rev=1003595&view=rev
Log:
flush index built flag so we can read it before log replay
patch by jbellis; reviewed by Stu Hood for CASSANDRA-1541

Modified:
    cassandra/trunk/CHANGES.txt
    cassandra/trunk/src/java/org/apache/cassandra/db/SystemTable.java

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1003595&r1=1003594&r2=1003595&view=diff
==============================================================================
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Fri Oct  1 17:56:14 2010
@@ -4,6 +4,7 @@ dev
  * re-organize JMX into .db, .net, .internal, .request (CASSANDRA-1217)
  * allow nodes to change IPs between restarts (CASSANDRA-1518)
  * remember ring state between restarts by default (CASSANDRA-1518)
+ * flush index built flag so we can read it before log replay (CASSANDRA-1541)
 
 
 0.7-beta2

Modified: cassandra/trunk/src/java/org/apache/cassandra/db/SystemTable.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/SystemTable.java?rev=1003595&r1=1003594&r2=1003595&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/SystemTable.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/SystemTable.java Fri Oct  
1 17:56:14 2010
@@ -141,9 +141,14 @@ public class SystemTable
             throw new IOError(e);
         }
 
+        forceBlockingFlush(STATUS_CF);
+    }
+
+    private static void forceBlockingFlush(String cfname)
+    {
         try
         {
-            
Table.open(Table.SYSTEM_TABLE).getColumnFamilyStore(SystemTable.STATUS_CF).forceBlockingFlush();
+            
Table.open(Table.SYSTEM_TABLE).getColumnFamilyStore(cfname).forceBlockingFlush();
         }
         catch (ExecutionException e)
         {
@@ -283,18 +288,7 @@ public class SystemTable
         cf.addColumn(new Column(GENERATION, 
FBUtilities.toByteArray(generation), genClock));
         rm.add(cf);
         rm.apply();
-        try
-        {
-            
table.getColumnFamilyStore(SystemTable.STATUS_CF).forceBlockingFlush();
-        }
-        catch (ExecutionException e)
-        {
-            throw new RuntimeException(e);
-        }
-        catch (InterruptedException e)
-        {
-            throw new AssertionError(e);
-        }
+        forceBlockingFlush(STATUS_CF);
 
         return generation;
     }
@@ -348,5 +342,7 @@ public class SystemTable
         {
             throw new IOError(e);
         }
+
+        forceBlockingFlush(INDEX_CF);
     }
 }


Reply via email to