Author: jbellis
Date: Thu Oct 22 17:48:43 2009
New Revision: 828797

URL: http://svn.apache.org/viewvc?rev=828797&view=rev
Log:
merge from 0.4 branch

Modified:
    incubator/cassandra/trunk/   (props changed)
    incubator/cassandra/trunk/CHANGES.txt
    
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java
   (props changed)
    
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Column.java
   (props changed)
    
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java
   (props changed)
    
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/NotFoundException.java
   (props changed)
    
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SuperColumn.java
   (props changed)
    incubator/cassandra/trunk/src/java/org/   (props changed)
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeProbe.java
    incubator/cassandra/trunk/test/unit/org/   (props changed)

Propchange: incubator/cassandra/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct 22 17:48:43 2009
@@ -1,2 +1,2 @@
 /incubator/cassandra/branches/cassandra-0.3:774578-796573
-/incubator/cassandra/branches/cassandra-0.4:810145-828133
+/incubator/cassandra/branches/cassandra-0.4:810145-828796

Modified: incubator/cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/CHANGES.txt?rev=828797&r1=828796&r2=828797&view=diff
==============================================================================
--- incubator/cassandra/trunk/CHANGES.txt (original)
+++ incubator/cassandra/trunk/CHANGES.txt Thu Oct 22 17:48:43 2009
@@ -21,6 +21,7 @@
  * Fix using non-utf8-aware comparison as a sanity check.
    (CASSANDRA-493)
  * Improve default garbage collector options (CASSANDRA-504)
+ * Add "nodeprobe flush" (CASSANDRA-505)
 
 
 0.4.1

Propchange: 
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct 22 17:48:43 2009
@@ -1,3 +1,3 @@
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573
-/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Cassandra.java:810145-828133
+/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Cassandra.java:810145-828796
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java:749219-768588

Propchange: 
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Column.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct 22 17:48:43 2009
@@ -1,4 +1,4 @@
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/column_t.java:774578-792198
-/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Column.java:810145-828133
+/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Column.java:810145-828796
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Column.java:749219-794428
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/column_t.java:749219-768588

Propchange: 
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct 22 17:48:43 2009
@@ -1,3 +1,3 @@
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:774578-796573
-/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:810145-828133
+/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:810145-828796
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:749219-768588

Propchange: 
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct 22 17:48:43 2009
@@ -1,3 +1,3 @@
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:774578-796573
-/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:810145-828133
+/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:810145-828796
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:749219-768588

Propchange: 
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct 22 17:48:43 2009
@@ -1,4 +1,4 @@
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:774578-792198
-/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:810145-828133
+/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:810145-828796
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:749219-794428
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:749219-768588

Propchange: incubator/cassandra/trunk/src/java/org/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct 22 17:48:43 2009
@@ -1,3 +1,3 @@
 /incubator/cassandra/branches/cassandra-0.3/src/java/org:774578-796573
-/incubator/cassandra/branches/cassandra-0.4/src/java/org:810145-828133
+/incubator/cassandra/branches/cassandra-0.4/src/java/org:810145-828796
 /incubator/cassandra/trunk/src/java/org:749219-769885

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java?rev=828797&r1=828796&r2=828797&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
 (original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
 Thu Oct 22 17:48:43 2009
@@ -613,7 +613,13 @@
             logger_.debug("Cleared out all snapshot directories");
     }
 
-    public void forceTableFlushBinary(String tableName) throws IOException
+    /**
+     * Flush all memtables for a table and column families.
+     * @param tableName
+     * @param columnFamilies
+     * @throws IOException
+     */
+    public void forceTableFlush(String tableName, String... columnFamilies) 
throws IOException
     {
         if (DatabaseDescriptor.getTable(tableName) == null)
         {
@@ -621,16 +627,33 @@
         }
 
         Table table = Table.open(tableName);
-        Set<String> columnFamilies = table.getColumnFamilies();
+        Set<String> positiveColumnFamilies = table.getColumnFamilies();
+
+        // no columnFamilies means flush'em all.
+        if (columnFamilies == null || columnFamilies.length == 0)
+        {
+            columnFamilies = positiveColumnFamilies.toArray(new 
String[positiveColumnFamilies.size()]);
+        }
+
         for (String columnFamily : columnFamilies)
         {
-            ColumnFamilyStore cfStore = 
table.getColumnFamilyStore(columnFamily);
-            logger_.debug("Forcing flush on keyspace " + tableName + " on CF " 
+ columnFamily);
-            cfStore.forceFlushBinary();
+
+            if (positiveColumnFamilies.contains(columnFamily))
+            {
+                ColumnFamilyStore cfStore = 
table.getColumnFamilyStore(columnFamily);
+                logger_.debug("Forcing binary flush on keyspace " + tableName 
+ ", CF " + columnFamily);
+                cfStore.forceFlushBinary();
+                logger_.debug("Forcing flush on keyspace " + tableName + ", CF 
" + columnFamily);
+                cfStore.forceFlush();
+            }
+            else
+            {
+                // this means there was a cf passed in that is not recognized 
in the keyspace. report it and continue.
+                logger_.warn(String.format("Invalid column family specified: 
%s. Proceeding with others.", columnFamily));
+            }
         }
     }
 
-
     /* End of MBean interface methods */
     
     /**

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java?rev=828797&r1=828796&r2=828797&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java
 (original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java
 Thu Oct 22 17:48:43 2009
@@ -105,11 +105,13 @@
     public void clearSnapshot() throws IOException;
 
     /**
-     * Flush all binary memtables for a table
+     * Flush all memtables for the given column families, or all 
columnfamilies for the given table
+     * if none are explicitly listed.
      * @param tableName
+     * @param columnFamilies
      * @throws IOException
      */
-    public void forceTableFlushBinary(String tableName) throws IOException;
+    public void forceTableFlush(String tableName, String... columnFamilies) 
throws IOException;
 
     /** set the logging level at runtime */
     public void setLog4jLevel(String classQualifier, String level);

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeProbe.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeProbe.java?rev=828797&r1=828796&r2=828797&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeProbe.java 
(original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeProbe.java 
Thu Oct 22 17:48:43 2009
@@ -183,9 +183,9 @@
         ssProxy.forceTableCompaction();
     }
 
-    public void forceTableFlushBinary(String tableName) throws IOException
+    public void forceTableFlush(String tableName, String... columnFamilies) 
throws IOException
     {
-        ssProxy.forceTableFlushBinary(tableName);
+        ssProxy.forceTableFlush(tableName, columnFamilies);
     }
 
     /**
@@ -474,7 +474,7 @@
     {
         HelpFormatter hf = new HelpFormatter();
         String header = String.format(
-                "%nAvailable commands: ring, info, cleanup, compact, cfstats, 
snapshot [name], clearsnapshot, tpstats, flush_binary, " +
+                "%nAvailable commands: ring, info, cleanup, compact, cfstats, 
snapshot [name], clearsnapshot, tpstats, flush, " +
                 " getcompactionthreshold, setcompactionthreshold 
[minthreshold] ([maxthreshold])");
         String usage = String.format("java %s -host <arg> <command>%n", 
NodeProbe.class.getName());
         hf.printHelp(usage, "", options, header);
@@ -550,7 +550,7 @@
         {
             probe.printThreadPoolStats(System.out);
         }
-        else if (cmdName.equals("flush_binary"))
+        else if (cmdName.equals("flush"))
         {
             if (probe.getArgs().length < 2)
             {
@@ -558,7 +558,13 @@
                 NodeProbe.printUsage();
                 System.exit(1);
             }
-            probe.forceTableFlushBinary(probe.getArgs()[1]);
+
+            String[] columnFamilies = new String[probe.getArgs().length - 2];
+            for (int i = 0; i < columnFamilies.length; i++)
+            {
+                columnFamilies[i] = probe.getArgs()[i + 2];
+            }   
+            probe.forceTableFlush(probe.getArgs()[1], columnFamilies);
         }
         else if (cmdName.equals("getcompactionthreshold"))
         {

Propchange: incubator/cassandra/trunk/test/unit/org/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct 22 17:48:43 2009
@@ -1,3 +1,3 @@
 /incubator/cassandra/branches/cassandra-0.3/test/unit/org:774578-796573
-/incubator/cassandra/branches/cassandra-0.4/test/unit/org:810145-828133
+/incubator/cassandra/branches/cassandra-0.4/test/unit/org:810145-828796
 /incubator/cassandra/trunk/test/unit/org:749219-768583


Reply via email to